這是一篇關于c#中treeview的使用方法,供大家參考,
http://blog.sina.com.cn/s/blog_149e9d2ec0102vujg.html
c#中treeview的使用方法
2009-05-0809:25:00| 分類:c#| 标簽:|字号大中小 訂閱
本文主要介紹treeView控件中,添加,修改、删除節點的操作,
首先當窗體加載的時候,我們添加上圖中所示的節點。
當點選“Delete the Selected”按鈕時,被選中的節點将被删除。
當點選“Edit the Selected”按鈕式,被選中的節點變成修改狀态,此時我們可以對其修改。
其代碼如下:
privatevoid Form1_Load(object sender, EventArgs e)
{
treeView1.LabelEdit= true;//可編輯狀态。
//添加一個節點,這個結點是根節點。
TreeNodenode = new TreeNode();
node.Text= "hope";
treeView1.Nodes.Add(node);
TreeNodenode1 = new TreeNode();
node1.Text= "hopeone";
TreeNodenode11 = new TreeNode();
node11.Text="hopeoneone";
TreeNodenode2 = new TreeNode();
node2.Text= "hopetwo";
node1.Nodes.Add(node11);//在node1下面在添加一個結點。
node.Nodes.Add(node1);//node下的兩個子節點。
node.Nodes.Add(node2);
TreeNodet = newTreeNode("basil");//作為根節點。
treeView1.Nodes.Add(t);
TreeNodet1 = new TreeNode("basilone");
t.Nodes.Add(t1);
TreeNodet2 = new TreeNode("basiltwo");
t.Nodes.Add(t2);
}
privatevoid button1_Click(object sender, EventArgs e)
{//點選該按鈕的時候,會移除選中項
treeView1.Nodes.Remove(treeView1.SelectedNode);
}
privatevoid button2_Click(object sender, EventArgs e)
{//點選這個按鈕的時候,可以修改選中項
注意:在使用這個屬性的時候,必須設定treeView1.LabelEdit=true,否則會提示錯誤。
treeView1.SelectedNode.BeginEdit();
}
C#中Treeview判斷選擇的節點并執行不同的方法
關于控件Treeview,如何在點選不同的節點(包括父節點和父節點下的子節點)觸發不同的事件,執行相應的方法?
方法1:
treeView1_AfterSelect事件就是treeView1中節點被選擇觸發的事件,e.Node指的是目前選中的節點,e.Node.Nodes指的是目前選中節點的子節點集合。
例如:
privatevoid treeView1_AfterSelect(object sender, TreeViewEventArgse)
{
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屬性來判斷具體是哪個節點被選擇,并執行相應的方法(這種方法效率高一些)
privatevoid treeView1_AfterSelect(object sender, TreeViewEventArgse)
{
if(e.Action == TreeViewAction.ByMouse)
{
if(e.Node.Nodes.Count==0)//說明目前選中節點沒有子節點
if(e.Node.name="aaa")
{
執行相應的方法();
}
elseif(e.Node.Name="bbb")
{
執行相應的方法();
}
}
}
C#怎麼判斷TreeView選中的是子節點 ?并且是屬于哪個父節點?
TreeNode selNode = tree.SelectedNode;
if (selNode == null)
{
//防止空引用
return;
}
if (selNode.Parent != null)
{
//為有父親節點的,
TreeNode parentNode = selNode.Parent;//得到父親節點
if (selNode.Nodes.Count == 0)
{
//為沒有子節點,即選中的節點為葉子節點
}
}
C#.Net中TreeView控件右鍵選擇節點問題處理
- 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預設 展開
treeView1.ExpandAll();
預設選中TreeVIew中的一個節點
//先找到你要設定選中的節點
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();