C TreeNode的使用方法

C TreeNode的使用方法目录 C 中 Treeview 判断选择的节点并执行不同的方法 C 怎么判断 TreeView 选中的是子节点并且是属于哪个父节添加节点 csharp viewplaincop private nbsp void nbsp Form1 Load object nbsp sender nbsp EventArgs nbsp e nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp treeView1

                              



目录(?)[+]

  1. C中Treeview判断选择的节点并执行不同的方法
  2. C 怎么判断TreeView选中的是子节点 并且是属于哪个父节
添加节点

[csharp] view plain copy

print ?

  1. private void Form1_Load(object sender, EventArgs e)  
  2. {  
  3.     treeView1.LabelEdit = true;//可编辑状态。  
  4.   
  5.     //添加一个节点,这个结点是根节点。  
  6.     TreeNode node = new TreeNode();  
  7.     node.Text = “hope”;  
  8.     treeView1.Nodes.Add(node);  
  9.   
  10.     TreeNode node1 = new TreeNode();  
  11.     node1.Text = “hopeone”;  
  12.     TreeNode node11 = new TreeNode();  
  13.     node11.Text = “hopeoneone”;  
  14.     TreeNode node2 = new TreeNode();  
  15.     node2.Text = “hopetwo”;  
  16.   
  17.     node1.Nodes.Add(node11);//在node1下面在添加一个结点。  
  18.   
  19.     node.Nodes.Add(node1);//node下的两个子节点。  
  20.     node.Nodes.Add(node2);  
  21.   
  22.   
  23.     TreeNode t = new TreeNode(“basil”);//作为根节点。  
  24.     treeView1.Nodes.Add(t);  
  25.     TreeNode t1 = new TreeNode(“basilone”);  
  26.     t.Nodes.Add(t1);  
  27.     TreeNode t2 = new TreeNode(“basiltwo”);  
  28.     t.Nodes.Add(t2);  
  29. }  
C TreeNode的使用方法

 private void Form1_Load(object sender, EventArgs e) { treeView1.LabelEdit = true;//可编辑状态。 //添加一个节点,这个结点是根节点。 TreeNode node = new TreeNode(); node.Text = "hope"; treeView1.Nodes.Add(node); TreeNode node1 = new TreeNode(); node1.Text = "hopeone"; TreeNode node11 = new TreeNode(); node11.Text = "hopeoneone"; TreeNode node2 = new TreeNode(); node2.Text = "hopetwo"; node1.Nodes.Add(node11);//在node1下面在添加一个结点。 node.Nodes.Add(node1);//node下的两个子节点。 node.Nodes.Add(node2); TreeNode t = new TreeNode("basil");//作为根节点。 treeView1.Nodes.Add(t); TreeNode t1 = new TreeNode("basilone"); t.Nodes.Add(t1); TreeNode t2 = new TreeNode("basiltwo"); t.Nodes.Add(t2); }


删除

[csharp] view plain copy

print ?

  1. private void button1_Click(object sender, EventArgs e)  
  2.       {  
  3.           //点击该按钮的时候,会移除选中项  
  4.           treeView1.Nodes.Remove(treeView1.SelectedNode);  
  5.       }  
C TreeNode的使用方法

 private void button1_Click(object sender, EventArgs e) { //点击该按钮的时候,会移除选中项 treeView1.Nodes.Remove(treeView1.SelectedNode); }

修改

[csharp] view plain copy

print ?

  1. private void button2_Click(object sender, EventArgs e)  
  2.        {  
  3.            //点击这个按钮的时候,可以修改选中项  
  4.            //注意:在使用这个属性的时候,必须设置treeView1.LabelEdit =true,否则会提示错误。  
  5.            treeView1.SelectedNode.BeginEdit();  
  6.        }  
C TreeNode的使用方法

 private void button2_Click(object sender, EventArgs e) { //点击这个按钮的时候,可以修改选中项 //注意:在使用这个属性的时候,必须设置treeView1.LabelEdit =true,否则会提示错误。 treeView1.SelectedNode.BeginEdit(); }

C#中Treeview判断选择的节点并执行不同的方法

Treeview,点击不同的节点(包括父节点和父节点下的子节点)触发不同的事件,执行相应的方法

[csharp] view plain copy

print ?

  1. private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)  
  2.       {  
  3.           if (e.Action == TreeViewAction.ByMouse)  
  4.           {  
  5.               //当前选中的节点有父节点,并且该父节点在相同级别的父节点中排行第一。  
  6.               if (e.Node.Parent != null && e.Node.Parent.Index == 0)  
  7.               {    
  8.                   //当前选中节点在所有的兄弟节点中排第 一  
  9.                   if(e.Node.Index==0)   
  10.                   {  
  11.                        //调用相应的方法();  
  12.                   }  
  13.               }  
  14.               //表示当前节点没有父节点,并且在兄弟节点中排行第五(由零开始索引)  
  15.               if(e.Node.Parent==null&&e.Node.Index==4)  
  16.               {  
  17.              //调用相应的方法();  
  18.                }  
  19.           }  
  20.       }  
C TreeNode的使用方法

 private void treeView1_AfterSelect(object sender, TreeViewEventArgs e) { if (e.Action == TreeViewAction.ByMouse) { //当前选中的节点有父节点,并且该父节点在相同级别的父节点中排行第一。 if (e.Node.Parent != null && e.Node.Parent.Index == 0) { //当前选中节点在所有的兄弟节点中排第 一 if(e.Node.Index==0) { //调用相应的方法(); } } //表示当前节点没有父节点,并且在兄弟节点中排行第五(由零开始索引) if(e.Node.Parent==null&&e.Node.Index==4) { //调用相应的方法(); } } }

方法二:

通过节点的Name属性来判断具体是哪个节点被选择,并执行相应的方法(这种方法效率高一些)


[csharp] view plain copy

print ?

  1. private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)  
  2.         {  
  3.              if (e.Action == TreeViewAction.ByMouse)  
  4.              {  
  5.                  //说明当前选中节点没有子节点  
  6.                  if(e.Node.Nodes.Count==0)  
  7.                  {  
  8.                       if(e.Node.name=“aaa”)  
  9.                       {  
  10.                            //执行相应的方法();  
  11.                       }  
  12.                       else if(e.Node.Name=“bbb”)  
  13.                       {  
  14.                            //执行相应的方法();  
  15.                       }  
  16.                  }  
  17.             }  
  18.           
C TreeNode的使用方法

 private void treeView1_AfterSelect(object sender, TreeViewEventArgs e) { if (e.Action == TreeViewAction.ByMouse) { //说明当前选中节点没有子节点 if(e.Node.Nodes.Count==0) { if(e.Node.name="aaa") { //执行相应的方法(); } else if(e.Node.Name="bbb") { //执行相应的方法(); } } } 

C# 怎么判断TreeView选中的是子节点 ?并且是属于哪个父节?

[csharp] view plain copy

print ?

  1. TreeNode selNode = tree.SelectedNode;  
  2. if (selNode == null)  
  3. {  
  4.     //防止空引用  
  5.     return;  
  6. }  
  7. if (selNode.Parent != null)  
  8. {  
  9.     //为有父亲节点的,  
  10.     TreeNode parentNode = selNode.Parent;//得到父亲节点                
  11.     if (selNode.Nodes.Count == 0)  
  12.     {  
  13.         //为没有子节点,即选中的节点为叶子节点  
  14.     }  
  15. }  
C TreeNode的使用方法

TreeNode selNode = tree.SelectedNode; if (selNode == null) { //防止空引用 return; } if (selNode.Parent != null) { //为有父亲节点的, TreeNode parentNode = selNode.Parent;//得到父亲节点 if (selNode.Nodes.Count == 0) { //为没有子节点,即选中的节点为叶子节点 } }

C#.Net中TreeView控件右键选择节点问题处理

[csharp] view plain copy

print ?

  1. private void treeView1_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)    
  2. {    
  3.     if(e.Button==MouseButtons.Right)    
  4.     {    
  5.         TreeNode tn=treeView1.GetNodeAt(e.X,e.Y);    
  6.         if(tn!=null)treeView1.SelectedNode = tn;    
  7.     }    
  8. }   
C TreeNode的使用方法

private void treeView1_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e) { if(e.Button==MouseButtons.Right) { TreeNode tn=treeView1.GetNodeAt(e.X,e.Y); if(tn!=null)treeView1.SelectedNode = tn; } } 


treeView默认 展开

[csharp] view plain copy

print ?

  1. treeView1.ExpandAll();  
C TreeNode的使用方法

 treeView1.ExpandAll();

默认选中TreeVIew中的一个节点

[csharp] view plain copy

print ?

  1. //先找到你要设置选中的节点  
  2. TreeNode tn = treeView1.Nodes[3];  
  3. //把要设置的节点给SelectedNode  
  4. this.treeView1.SelectedNode = tn;  
  5. //this.TreeView1.SelectedNodeIndex=””;  
C TreeNode的使用方法

//先找到你要设置选中的节点 TreeNode tn = treeView1.Nodes[3]; //把要设置的节点给SelectedNode this.treeView1.SelectedNode = tn; //this.TreeView1.SelectedNodeIndex="";

TreeView,左键单击节点时可修改节点名称

TreeView本身可支持左键修改名称 在初始化时设置: TreeView.LabelEdit = true; 这样应用程序的treeview生成以后就支持单击节点修改。

如果不想左键修改,可在treeView1_MouseDown中设置treeView1.LabelEdit = false; 

右键菜单 重命名


treeView1.LabelEdit = true; treeView.SelectedNode.BeginEdit();


TreeVIew清空
[csharp] view plain copy

print ?

  1. TreeView.Nodes.Clear()  
C TreeNode的使用方法

TreeView.Nodes.Clear()
















版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/218580.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 下午11:55
下一篇 2026年3月17日 下午11:55


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号