有两个属性Nodes SelectedNode
Nodes代表着所有节点,是一个集合,可以使用Add方法
先尝试在控件中添加一些菜单什么的(如图):
代码:
1 private void Form1_Load(object sender, EventArgs e) 2 { 3 //把list1作为节点,把list2添加进去 4 var list1 = new List<string>() { "1", "2", "3" }; 5 var list2 = new List<string>() { "1-1", "1-2", "1-3" }; 6 7 foreach(var outer in list1) 8 { 9 //新建一个节点 10 var node = new TreeNode(outer); 11 //node.Text = outer; 12 tvw.Nodes.Add(node); 13 foreach(var inner in list2) 14 { 15 var node1 = new TreeNode(inner); 16 node.Nodes.Add(node1); 17 } 18 } 19 }
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 private void Form1_Load(object sender, EventArgs e) 2 { 3 var list1 = new List<string> { "学生信息管理" , "修改个人信息"}; 4 var list1_1 = new List<string> { "全部学生信息","添加学生信息","删除学生信息", "修改学生信息" }; 5 var list2_1 = new List<string> { "修改密码", "查看个人信息" }; 6 /**/ 7 var outer1 = list1[0]; 8 var node = new TreeNode(outer1); 9 treeView1.Nodes.Add(node); 10 foreach(var inner1 in list1_1) 11 { 12 node.Nodes.Add(new TreeNode(inner1)); 13 } 14 15 var outer2 = list1[1]; 16 var _node = new TreeNode(outer2); 17 treeView1.Nodes.Add(_node); 18 foreach(var inner2 in list2_1) 19 { 20 _node.Nodes.Add(new TreeNode(inner2)); 21 } 22 }
treeView1.ExpandAll(); 可以展开所有节点。
单击节点事件:NodeMouseClickHover,中
1 private void treeView1_NodeMouseHover(object sender, TreeNodeMouseHoverEventArgs e) 2 { 3 switch (e.Node.Text) 4 { 5 case "1-1": 6 { 7 8 };break; 9 case "1-2": 10 { 11 12 };break; 13 } 14 }
根据节点(Node)的文本选择执行语句。
(其他操作,再说吧啊哈哈)
List View:
1 public Form1() 2 { 3 InitializeComponent(); 4 5 lvw.Columns.Add("姓名", 100); 6 lvw.Columns.Add("。", 100); 7 lvw.Columns.Add("年龄", 100); 8 9 lvw.View = View.Details; 10 11 var name = new ListViewItem("年号大人"); 12 lvw.Items.Add(name); 13 name.SubItems.Add("."); 14 name.SubItems.Add("???"); 15 }
SubItems.Add会在添加过的东西的同一行后面添加
运行结果:
属性:
FullRowSelect,选中一整行
CheckBox , 选中框