Treeview.nodes.remove不起作用问题

Treeview.nodes.remove(node)不起作用,原因就是node不是treeview的第一级,o(╯□╰)o

改为node.Parent.ChildrenNodes.Remove(node)就可以了 有点无奈

转载于:https://www.cnblogs.com/Hary/archive/2009/11/11/1600664.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
TreeView控件是Windows Forms控件之一,它允许用户在树形结构中显示和浏览层次化的数据,如文件系统、组织机构、分类目录等等。TreeView控件的使用非常灵活和方便,可以通过编程方式或者设计器设置来控制其外观和行为。 1. 添加TreeView控件 在Visual Studio中,可以通过拖拽TreeView控件到窗体上来添加TreeView控件。也可以在代码中动态创建TreeView控件,并将其添加到窗体上。例如,以下代码创建并添加一个TreeView控件: ```csharp TreeView treeView1 = new TreeView(); treeView1.Location = new Point(10, 10); treeView1.Size = new Size(200, 300); this.Controls.Add(treeView1); ``` 2. 设置TreeView控件的属性 TreeView控件有很多属性可以设置,包括节点的样式、字体、颜色、图标等等。以下是一些常用属性的设置示例: ```csharp treeView1.Font = new Font("Microsoft Sans Serif", 10, FontStyle.Regular); treeView1.BackColor = Color.White; treeView1.ForeColor = Color.Black; treeView1.CheckBoxes = true; treeView1.ShowLines = true; treeView1.ShowPlusMinus = true; treeView1.ShowRootLines = true; ``` 3. 添加节点 TreeView控件中最重要的部分是节点,可以通过编程方式或者设计器添加节点。以下是添加节点的示例: ```csharp TreeNode root = new TreeNode("根节点"); TreeNode node1 = new TreeNode("节点1"); root.Nodes.Add(node1); TreeNode node2 = new TreeNode("节点2"); root.Nodes.Add(node2); TreeNode node3 = new TreeNode("节点3"); node2.Nodes.Add(node3); treeView1.Nodes.Add(root); ``` 以上代码创建了一个根节点,然后添加了两个子节点和一个孙子节点,并将它们添加到TreeView控件中。 4. 节点事件 TreeView控件支持很多事件,如节点选中、节点展开、节点折叠等等。可以通过编程方式或者设计器添加事件处理程序来响应这些事件。以下是一些常用事件处理程序的示例: ```csharp private void treeView1_AfterSelect(object sender, TreeViewEventArgs e) { // 节点选中事件处理程序 TreeNode node = e.Node; MessageBox.Show(node.Text); } private void treeView1_AfterExpand(object sender, TreeViewEventArgs e) { // 节点展开事件处理程序 TreeNode node = e.Node; MessageBox.Show(node.Text + "被展开了"); } private void treeView1_AfterCollapse(object sender, TreeViewEventArgs e) { // 节点折叠事件处理程序 TreeNode node = e.Node; MessageBox.Show(node.Text + "被折叠了"); } ``` 5. 节点操作 TreeView控件还支持节点的添加、删除、移动等操作。以下是一些常用的节点操作示例: ```csharp // 添加节点 TreeNode node = new TreeNode("新节点"); treeView1.Nodes.Add(node); // 删除节点 if (treeView1.SelectedNode != null) { treeView1.SelectedNode.Remove(); } // 移动节点 TreeNode node1 = new TreeNode("节点1"); TreeNode node2 = new TreeNode("节点2"); treeView1.Nodes.Add(node1); treeView1.Nodes.Add(node2); TreeNode selectedNode = treeView1.SelectedNode; if (selectedNode != null) { if (selectedNode.Parent != null) { selectedNode.Parent.Nodes.Remove(selectedNode); node1.Nodes.Add(selectedNode); } else { treeView1.Nodes.Remove(selectedNode); node2.Nodes.Add(selectedNode); } } ``` 以上代码演示了如何添加节点、删除节点和移动节点。要删除节点,首先需要选中一个节点,然后调用Remove方法即可。移动节点时,首先需要判断选中的节点是否有父节点,如果有,则从父节点的子节点集合中移除选中的节点,并将其添加到新的节点的子节点集合中。如果没有,则从TreeView控件的顶级节点集合中移除选中的节点,并将其添加到新的节点的子节点集合中。 6. 总结 本文简单介绍了TreeView控件的使用方法,包括添加控件、设置属性、添加节点、响应事件和节点操作等。TreeView控件在Windows Forms应用程序中非常常用,可以帮助用户浏览和管理层次化的数据。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值