C#中treeview的问题,如何区分根节点和子节点以及根节点和根节点的兄弟节点?

根节点的Level属性为0,一级子节点Level属性为1,二级子节点Level属性为2,以此类推;
同级节点可以用索引、名称、文本来区分。
用索引区分根节点时,TreeView.Nodes[0]就是第一个根节点,TreeView.Nodes[1]就是第二个根节点,以此类推;
用索引区分一级子节点时,TreeView.Nodes[0].Nodes[0]为第一个根节点的第一个子节点,TreeView.Nodes[0].Nodes[1]是第一个根节点的第二个子节点,以此类推;

2.如何获取TreeView点击的值加上其父节点直到根节点的值.

用Node.FullPah,可以得到一个字符串,如:根节点/1父节点2/子节点3,你可以对这个字符串替换字符。另外,“/"是自己设定的,通过TreeView的PathSeparator属性设置,你设置为空字符串,得到的FullPath就没有斜杠了。

TreeView tv ;
 public X(){
 tv = new TreeView();
 tv.Click += new EventHandler(tv_Click);
 }

 void tv_Click(object sender , EventArgs e) {
 if(tv.SelectedNode!=null)
 //..
 } 

3.0C#如何用代码向TreeView控件中添加根节点和子级?

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. TreeNode node1 = new TreeNode();
10. node1.Text = "hopeone";
11. TreeNode node11 = new TreeNode();
12. node11.Text = "hopeoneone"; 13. TreeNode node2 = new TreeNode();
14. node2.Text = "hopetwo";
15. node1.Nodes.Add(node11);//在node1下面在添加一个结点。
16. node.Nodes.Add(node1);//node下的两个子节点。
17. node.Nodes.Add(node2); 18.
19. TreeNode t = new TreeNode("basil");//作为根节点。
20. treeView1.Nodes.Add(t);
21. TreeNode t1 = new TreeNode("basilone");
22. t.Nodes.Add(t1);
23. TreeNode t2 = new TreeNode("basiltwo");
24. t.Nodes.Add(t2);
25.
26.
27. }
28.3 / 6
29. private void button1_Click(object sender, EventArgs e)
30. {//点击该按钮的时候,会移除选中项
31. treeView1.Nodes.Remove(treeView1.SelectedNode);
32. }
33.
34. private void button2_Click(object sender, EventArgs e)
35. {//点击这个按钮的时候,可以修改选中项
36. treeView1.SelectedNode.BeginEdit();
37. }
时间: 2024-10-03 00:21:38

C#中treeview的问题,如何区分根节点和子节点以及根节点和根节点的兄弟节点?的相关文章

WinForm 中TreeView 控件的使用实例

新建一个窗体,在本窗体界面上需要以下几个按钮 (一个TreeView    一个 TextBox  三个Button 按钮) 后台代码如下: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.

c#中treeview的使用方法(转 )

本文主要介绍treeView控件中,添加,修改.删除节点的操作, 首先当窗体加载的时候,我们添加上图中所示的节点. 当点击“Delete the Selected”按钮时,被选中的节点将被删除. 当点击“Edit the Selected”按钮式,被选中的节点变成修改状态,此时我们可以对其修改. 其代码如下: private void Form1_Load(object sender, EventArgs e)       {           treeView1.LabelEdit = tr

.net中TreeView使用方法小结(1)

在新项目的开发中,TreeView的作用很重要,这两天好好的学习了一下treeview的使用方法. 这篇文章主要关注TreeView带有CheckBox的情况. 在TreeView中点击CheckBox触发的函数如下: private void treeView1_AfterCheck(object sender, TreeViewEventArgs e) { }   在这个事件中选中,或者取消的那一个节点为: TreeNode node = e.Node; 使用TreeView控件要经常使用到

.net中TreeView使用方法小结(2)

在实际开发中,很少是手工编辑TreeView节点,通常都是通过读取数据库或者其他数据文件的内容来编辑节点.在我现在开发的项目中就需要根据mdb中的数据来编辑节点. 数据库中表的内容如下:   TreeView的父子节点的关系是根据"F_No"字段内容与"F_SuperiorNo"字段内容的关系确定的.   编程思路是,首先得到F_SuperiorNo=1的所有城市名组成的一个ArrayList.这个ArrayList的中的每一项都包含着城市名和F_No(表现形式为城

Winform中Treeview控件失去焦点,将选择的节点设置为高亮显示 (2012-07-16 13:47:07)转载▼

Winform中Treeview控件失去焦点,将选择的节点设置为高亮显示 (2012-07-16 13:47:07)转载▼标签: winform treeview drawnode Treeview控件--Name:tVtypeList将tVtypeList的HideSelection属性设置为False,DrawMode属性设置为OwnerDrawText将tVtypeList的DrawNode事件写为:private void tVtypeList_DrawNode(object sende

C#中TreeView节点的自定义绘制方法

本文实例讲述了C#中TreeView节点的自定义绘制方法.分享给大家供大家参考.具体如下: if ((e.State & TreeNodeStates.Selected) != 0) { //演示为绿底白字 e.Graphics.FillRectangle(Brushes.DeepSkyBlue, e.Node.Bounds); Font nodeFont = e.Node.NodeFont; if (nodeFont == null) nodeFont = ((TreeView)sender)

WPF中TreeView控件数据绑定和后台动态添加数据

数据绑定: TreeView数据绑定需要使用层次结构数据模板(HierarchicalDataTemplate)来显示分层数据.XAML代码如下: <TreeView Name="chapterTree" Grid.Column="0"> <TreeView.ItemTemplate> <HierarchicalDataTemplate ItemsSource="{Binding Path=ChildNodes}"&

WPF中TreeView.BringIntoView方法的替代方案

原文:WPF中TreeView.BringIntoView方法的替代方案 周银辉 WPF中TreeView.BringIntoView()方法并不是那么地好用,不少时候会没有效果,这里有一个替代方案,调用SelectItem()方法可以展开并呈现TreeView上指定的Item: public static class TreeViewHelper { /// <summary> /// Expands all children of a TreeView /// </summary&g

C#中TreeView选中父节点同时选中所有的子节点

TreeView 通常和CheckBoxs一起使用,显示并选择一些条目,特别是在等级分割的状态下,例如 当我选择一个父节点,希望该父节点下所有的子节点都被选中,取消一个节点,希望他所有的父节点都取消,例如 代码如下所示 //取消节点选中状态之后,取消所有父节点的选中状态 private void setParentNodeCheckedState(TreeNode currNode, bool state) { TreeNode parentNode = currNode.Parent; par