日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > C# >内容正文

C#

C# TreeNode的使用方法

發布時間:2023/12/18 C# 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C# TreeNode的使用方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

??????????????????????????????


目錄(?)[+]

  • C中Treeview判斷選擇的節點并執行不同的方法
  • C 怎么判斷TreeView選中的是子節點 并且是屬于哪個父節
  • 添加節點 [csharp] view plaincopy print?
  • 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);??
  • }??
  • 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 plaincopy print?
  • private?void?button1_Click(object?sender,?EventArgs?e)??
  • ??????{??
  • ??????????//點擊該按鈕的時候,會移除選中項??
  • ??????????treeView1.Nodes.Remove(treeView1.SelectedNode);??
  • ??????}??
  • private void button1_Click(object sender, EventArgs e){//點擊該按鈕的時候,會移除選中項treeView1.Nodes.Remove(treeView1.SelectedNode);}


    修改

    [csharp] view plaincopy print?
  • private?void?button2_Click(object?sender,?EventArgs?e)??
  • ???????{??
  • ???????????//點擊這個按鈕的時候,可以修改選中項??
  • ???????????//注意:在使用這個屬性的時候,必須設置treeView1.LabelEdit?=true,否則會提示錯誤。??
  • ???????????treeView1.SelectedNode.BeginEdit();??
  • ???????}??
  • private void button2_Click(object sender, EventArgs e){//點擊這個按鈕的時候,可以修改選中項//注意:在使用這個屬性的時候,必須設置treeView1.LabelEdit =true,否則會提示錯誤。treeView1.SelectedNode.BeginEdit();}


    C#中Treeview判斷選擇的節點并執行不同的方法

    Treeview,點擊不同的節點(包括父節點和父節點下的子節點)觸發不同的事件,執行相應的方法


    方法1:
    treeView1_AfterSelect事件就是treeView1中節點被選擇觸發的事件,e.Node指的是當前選中的節點,e.Node.Nodes指的是當前選中節點的子節點集合。

    [csharp] view plaincopy print?
  • 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)??
  • ??????????????{??
  • ?????????????//調用相應的方法();??
  • ???????????????}??
  • ??????????}??
  • ??????}??
  • 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 plaincopy print?
  • 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")??
  • ??????????????????????{??
  • ???????????????????????????//執行相應的方法();??
  • ??????????????????????}??
  • ?????????????????}??
  • ????????????}??
  • ??????????
  • 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 plaincopy print?
  • TreeNode?selNode?=?tree.SelectedNode;??
  • if?(selNode?==?null)??
  • {??
  • ????//防止空引用??
  • ????return;??
  • }??
  • if?(selNode.Parent?!=?null)??
  • {??
  • ????//為有父親節點的,??
  • ????TreeNode?parentNode?=?selNode.Parent;//得到父親節點????????????????
  • ????if?(selNode.Nodes.Count?==?0)??
  • ????{??
  • ????????//為沒有子節點,即選中的節點為葉子節點??
  • ????}??
  • }??
  • 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 plaincopy print?
  • 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;????
  • ????}????
  • }???
  • 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 plaincopy print?
  • treeView1.ExpandAll();??
  • treeView1.ExpandAll();
    默認選中TreeVIew中的一個節點

    [csharp] view plaincopy print?
  • //先找到你要設置選中的節點??
  • TreeNode?tn?=?treeView1.Nodes[3];??
  • //把要設置的節點給SelectedNode??
  • this.treeView1.SelectedNode?=?tn;??
  • //this.TreeView1.SelectedNodeIndex="";??
  • //先找到你要設置選中的節點 TreeNode tn = treeView1.Nodes[3]; //把要設置的節點給SelectedNode this.treeView1.SelectedNode = tn; //this.TreeView1.SelectedNodeIndex="";
    TreeView,左鍵單擊節點時可修改節點名稱

    TreeView本身可支持左鍵修改名稱 在初始化時設置: TreeView.LabelEdit = true; 這樣應用程序的treeview生成以后就支持單擊節點修改。</pre><pre id="best-content-1118048972" class="best-text mb-10" name="code" style="font-size: 14px; white-space: pre-wrap; word-wrap: break-word; color: rgb(54, 46, 43); line-height: 26px; background-color: rgb(255, 255, 255);">如果不想左鍵修改,可在treeView1_MouseDown中設置treeView1.LabelEdit = false;?<pre id="best-content-1118048972" class="best-text mb-10" name="code" style="white-space: pre-wrap; word-wrap: break-word; color: rgb(54, 46, 43); line-height: 26px; background-color: rgb(255, 255, 255);"><strong><span style="font-size:18px;">右鍵菜單 重命名</span></strong>

    <pre name="code" class="csharp" style="font-size: 14px;">treeView1.LabelEdit = true; treeView.SelectedNode.BeginEdit();
    <strong><span style="font-size:18px;">TreeVIew清空</span></strong> [csharp] view plaincopy print?
  • TreeView.Nodes.Clear()??
  • TreeView.Nodes.Clear()

    總結

    以上是生活随笔為你收集整理的C# TreeNode的使用方法的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。