现在的位置: 首页 > 综合 > 正文

c#中TreeView和ListView的一些用法

2013年03月28日 ⁄ 综合 ⁄ 共 1264字 ⁄ 字号 评论关闭

TreeView

 

TreeNode的Tag可以用来存储一个对象的引用(类似vc里面的SetData方法),可以用来存储相对于这个node的自己所需要的数据

添加首個節點使用TreeView.Nodes添加

 

在TreeView上增加右鍵菜單:

添加一個ConetxMenuStrip控件;

在控件中增加MouseDown Events;

然後在方法中添加代碼:

private void WorkspaceTreeView_MouseDown(objectsender, MouseEventArgse)

        {

            if(e.Button== MouseButtons.Right)

            {

                PointclickPoint = newPoint(e.X, e.Y);

                TreeNodecurrentSelectedNode = WorkspaceTreeView.GetNodeAt(clickPoint);

                if(null != currentSelectedNode)

                {

                    currentSelectedNode.ContextMenuStrip = WorkspaceContextMenuStrip;

                    WorkspaceTreeView.SelectedNode = currentSelectedNode;

                }

            }

        }

 

 

為TreeView添加圖標:

增加一個ImageList控件,可以直接點開小三角,然後選擇choose images加載一些列的圖標(和C++比起來簡直太方便了,哎~ 如果你還在用mfc做界面,哎 ~ );

然後在初始化的地方加入:WorkspaceTreeView.ImageList = WorkspaceTreeImageList;(你自己的控件變量);

使用add方法添加ImageIndex就可以了(小貼士:ImageIndex和SelectedImageIndex最好同時設置一下哦 ~ )。

 

 

ListView

類似下面的控件:

步驟:

添加一個ListView控件;

增加一個ImageList控件,類似TreeView的添加方法,在初始化方法中添加代碼: ListView.SmallImageList = ImageList;

在ListView的屬性中把View屬性設置為Details;

添加Columns可以自己在控件上右键Edit Colmuns;

添加行(有点古怪):

this.LabelsListView.BeginUpdate();

            for(int i = 0; i < listLabelData.Count; ++i)

            {

                ListViewItemlvi = new ListViewItem();

                lvi.ImageIndex = 0;

                lvi.Text = listLabelData[i].LabelName;

                lvi.SubItems.Add(listLabelData[i].LastAccessed);

                lvi.SubItems.Add(listLabelData[i].Owner);

                LabelsListView.Items.Add(lvi);

            }

            this.LabelsListView.EndUpdate();

抱歉!评论已关闭.