TreeView可在Nodes属性中设置,Dock设为Left,放在左边,Dock设为Fill就是填满整个右边,设为Top就是上半边,bottom就是下半边
ListView可在Items属性中设置(节点名称在text中设置),,放在右边,Dock设为Fill就是填满整个右边,设为Top就是上半边,bottom就是下半边
Splitter控件就可以自由调整了
checkdlistbox控件在Items设置多行的字符串作为多个选择框,checkedListBox1.CheckedItems.Count获取选择总数,checkedListBox1.CheckedItems[i].ToString()获取每个字符串
c#中TreeView和ListView的一些用法
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;
- }
- }
- }
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();
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();