相关文章推荐
发怒的莲藕  ·  svg点位转成2.5d - CSDN文库·  5 月前    · 
深情的便当  ·  sql 在not in ...·  1 年前    · 
仗义的沙发  ·  @Configuration ...·  1 年前    · 

摘自:MSDN

1. TreeView

TreeView 控件由节点组成。树中的每一项称为一个节点并由 TreeNode 对象表示。包含其他节点的节点称为“父节点”。包含在其他节点中的节点称为“子节点”。没有任何子节点的节点称为“叶节点”。不被任何其他节点包含并且是所有其他节点的上级节点的节点称为“根节点”。一个节点可以同时是父节点和子节点,但是不能同时为根节点、父节点和叶节点。节点为根节点、父节点还是叶节点决定着节点的几种可视化属性和行为属性。

典型的树只有一个根节点,但 TreeView 控件允许您向树结构中添加多个根节点。如果希望在显示项列表的同时不显示单个的主根节点(例如显示产品类别列表),那么此功能将十分有用。

节点主要在两个属性中存储数据: Text 属性和 Value 属性。在 TreeView 控件中显示 Text 属性的值,而 Value 属性用于存储有关节点的所有其他数据,如用于处理回发事件的数据。节点还在 ValuePath 属性中存储从该节点到其根节点的路径。 ValuePath 属性指示节点相对于根节点的位置。

2. TreeNode

TreeNode 对象由以下四个用户界面 (UI) 元素组成,可以自定义或隐藏这些元素:

  • 展开节点指示图标,以表明节点是展开的、折叠的还是不可展开的。

  • 与节点关联的可选复选框。

  • 可选的节点图像。

  • 节点文本。

可以通过设置 TreeView 类的 ExpandImageUrl CollapseImageUrl NoExpandImageUrl 属性,指定可展开、可折叠和不可展开的节点的自定义图像。通过将 TreeView 类的 ShowExpandCollapse 属性设置为 false ,甚至可以完全隐藏展开节点的指示图标。

若要在节点旁显示复选框,请设置 TreeView 类的 ShowCheckBoxes 属性。如果 ShowCheckBoxes 属性设置为 TreeNodeType.Node 以外的一个值,将在指定的节点类型旁显示复选框。通过设置节点的 ShowCheckBox 属性,可以有选择地重写个别节点的复选框。如果显示复选框,可使用 Checked 属性确定复选框是否被选中。

通过设置 ImageUrl 属性可以在节点中显示图像。此图像显示在节点文本旁。

TreeView 控件中的节点文本可以处于两种模式之一:选择模式或导航模式。默认情况下,会有一个节点处于选定状态。若要使一个节点处于导航模式,请将该节点的 NavigateUrl 属性值设置为空字符串 ("") 以外的值。若要使节点处于选择模式,请将节点的 NavigateUrl 属性设置为空字符串。

默认情况下,单击处于选择模式的节点会将页面回发到服务器并引发 SelectedNodeChanged 事件。也可以选择设置节点的 SelectAction 属性,指定引发其他事件。有关更多信息,请参见 SelectAction 。若要确定哪个节点在被单击时处于选择模式,请使用 TreeView 控件的 SelectedNode 属性。

当节点处于导航模式时,禁用该节点的所有选择事件。单击处于导航模式的节点时,用户将被定向到指定的 URL。可以选择设置 Target 属性以指定用来显示链接内容的窗口或框架。

TreeNode 类包含一些用于存储节点状态的属性。可使用 Selected 属性确定节点是否被选定。若要确定节点是否已展开,请使用 Expanded 属性。 DataBound 属性用于确定节点是否绑定到数据。当节点绑定到数据时,可以使用 DataItem 属性访问基础数据项。

此类提供了一些属性,有助于确定一个节点相对于树中其他节点的位置。使用 Depth 属性确定节点的深度。使用 ValuePath 属性可以获得从当前节点到其根节点的分隔节点列表。若要确定节点的父节点,请使用 Parent 属性。使用 ChildNodes 集合访问子节点。

有时,静态地预定义树结构并不可行,因为有时数据大小或自定义内容依用户输入而定。因此, TreeView 控件支持动态节点填充。在运行阶段,可以在展开节点时填充该节点。有关动态节点填充的更多信息,请参见 PopulateOnDemand 属性。

有关 TreeNode 的实例的初始属性值列表,请参见 TreeNode 构造函数。

3. TreeNodeCollection

TreeNodeCollection 类用于存储和管理 TreeView 控件中的 TreeNode 对象的集合。 TreeView 控件在其两个属性中使用 TreeNodeCollection 类。在 Nodes 属性中存储其根节点,在 CheckedNodes 属性中存储其选定的节点。 TreeNodeCollection 集合也用于 ChildNodes 属性来存储子节点(如果有的话)。

TreeNodeCollection 类支持多种访问集合中的项的方法:

  • 使用 Item 索引器直接在特定的从零开始的索引处检索 TreeNode 对象。

  • 使用 GetEnumerator 方法创建可用于循环访问集合的枚举数。

  • 使用 foreach (C#) 或 For Each (Visual Basic) 循环访问集合。

  • 使用 CopyTo 方法将集合的内容复制到一个 Array 对象中。

可以通过添加和移除 TreeNode 对象以编程方式管理 TreeNodeCollection 。若要在集合中添加节点,请使用 Add AddAt 方法。若要从集合中移除节点,请使用 Remove RemoveAt Clear 方法。

4. Sample

自动化测试情况下:

先实例化treeview,然后

TreeNodeCollection treeNodeCollection = treeView.Nodes;

foreach(TreeNode treeNode in treeNodeCollection)

treeNode.select();

if(treeNode.text == "abcd")

Console.WriteLine("The node 'abcd' is found.");

具体处理;

break;

参考: http://msdn.microsoft.com/zh-cn/library/system.web.ui.webcontrols.treeview_members(VS.80).aspx

转自http://hi.baidu.com/625610256/item/44c7bdce3f6bedd197445204摘自:MSDN1. TreeView       TreeView 控件由节点组成。树中的每一项称为一个节点并由TreeNode 对象表示。包含其他节点的节点称为“父节点”。包含在其他节点中的节点称为“子节点”。没有任何子节点的节点称为“叶节点”。不被任
不知道朋友们使用 TreeView TreeNode 遇到类似我一样的问题没有的,反正我百度上面却发现没怎么记录的。 先,说一下我遇到的问题: 1. TreeView 添加上万个节点 TreeNode ,速度奇慢。      网上有一些介绍的方法,但不理想。我自己测试了一下,发现, TreeNode 添加 TreeNode 不慢。那我将这1w条 TreeNode 添加到root TreeNode 下,最后TreeVi
刚接触c#,项目中用到 Treeview 实现三态,即选中、未选中、半选中状态,并且要求父子节点选择联动,效果类似下图网上有很多例子,于是研究了一下,结合网上大佬们的例子,所以在这里记录一下。首先新建一个Winform工程拖个 TreeView 控件,然后运行。。。嗯。。。加点数据吧。private void CreateTree() TreeNode anime = new TreeNode ...
我有以下两种方法,它们循环一个 TreeView TreeNode , private TreeNode SearchNode(string nodetext, TreeNode node) foreach ( TreeNode nd in node.Nodes) if (nd.Text == nodetext) return nd; return null; private
URL:http://msdn.microsoft.com/zh-cn/library/5w99w164(v=vs.80).aspx?cs-save-lang=1&cs-lang=vb#code-snippet-4 在树节点集合中的指定位置插入现有树节点。 命名空间:System.Windows.Forms 程序集:System.Windows.Forms(在 system.wind
<dependency> <groupId>org.eclipse.paho</groupId> <artifactId>org.eclipse.paho.client.mqttv3</artifactId> <version>1.2.5</version> </dependency> 这个包下面的 Hadoop运行任务时一直卡在: INFO mapreduce.Job: Running job Gloria_0623: 谢谢大佬救命之恩