page contents

C# TreeNode案例详解

本文讲述了C# TreeNode案例详解!具有很好的参考价值,希望对大家有所帮助。一起跟随六星小编过来看看吧,具体如下:

attachments-2022-06-zRmgqRwV62abde1a4ea42.png

本文讲述了C# TreeNode案例详解!具有很好的参考价值,希望对大家有所帮助。一起跟随六星小编过来看看吧,具体如下:

添加节点

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
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); 
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
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);
        }

删除

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

修改

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

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

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

方法:

treeView1_AfterSelect事件就是treeView1中节点被选择触发的事件,e.Node指的是当前选中的节点,e.Node.Nodes指的是当前选中节点的子节点集合。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
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) 
              { 
             //调用相应的方法(); 
               } 
          } 
      }
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
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)
                {
               //调用相应的方法();
                 }
            }
        }

更多相关技术内容咨询欢迎前往并持续关注六星社区了解详情。

想高效系统的学习Python编程语言,推荐大家关注一个微信公众号:Python编程学习圈。每天分享行业资讯、技术干货供大家阅读,关注即可免费领取整套Python入门到进阶的学习资料以及教程,感兴趣的小伙伴赶紧行动起来吧。

attachments-2022-05-rLS4AIF8628ee5f3b7e12.jpg

  • 发表于 2022-06-17 09:51
  • 阅读 ( 360 )
  • 分类:C/C++开发

你可能感兴趣的文章

相关问题

0 条评论

请先 登录 后评论
轩辕小不懂
轩辕小不懂

2403 篇文章

作家榜 »

  1. 轩辕小不懂 2403 文章
  2. 小柒 1324 文章
  3. Pack 1135 文章
  4. Nen 576 文章
  5. 王昭君 209 文章
  6. 文双 71 文章
  7. 小威 64 文章
  8. Cara 36 文章