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();