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