TreeNodeCollection 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
public ref class TreeNodeCollection sealed : System::Collections::ICollection, System::Web::UI::IStateManager
public sealed class TreeNodeCollection : System.Collections.ICollection, System.Web.UI.IStateManager
type TreeNodeCollection = class
interface ICollection
interface IEnumerable
interface IStateManager
Public NotInheritable Class TreeNodeCollection
Implements ICollection, IStateManager
- 继承
-
TreeNodeCollection
- 实现
示例
以下示例演示如何以编程方式向节点添加节点并将其从中删除 TreeNodeCollection。 请注意, Nodes 属性 ChildNodes 返回对象 TreeNodeCollection 。
<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
void Page_Load(Object sender, EventArgs e)
{
if (!IsPostBack)
{
// Use the Add and Remove methods to programmatically
// remove the Appendix C node and replace it with a new
// node.
LinksTreeView.Nodes.Remove(LinksTreeView.Nodes[3]);
LinksTreeView.Nodes.Add(new TreeNode("New Appendix C"));
// Use the AddAt and RemoveAt methods to programmatically
// remove the Chapter One node and replace it with a new node.
LinksTreeView.Nodes[0].ChildNodes.RemoveAt(0);
LinksTreeView.Nodes[0].ChildNodes.AddAt(0, new TreeNode("New Chapter One"));
// Use the Clear method to remove all the child nodes of the
// Chapter Two node.
LinksTreeView.Nodes[0].ChildNodes[1].ChildNodes.Clear();
}
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>TreeNodeCollection Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>TreeNodeCollection Example</h3>
<asp:TreeView id="LinksTreeView"
Font-Names= "Arial"
ForeColor="Blue"
runat="server">
<LevelStyles>
<asp:TreeNodeStyle ChildNodesPadding="10"
Font-Bold="true"
Font-Size="12pt"
ForeColor="DarkGreen"/>
<asp:TreeNodeStyle ChildNodesPadding="5"
Font-Bold="true"
Font-Size="10pt"/>
<asp:TreeNodeStyle ChildNodesPadding="5"
Font-UnderLine="true"
Font-Size="10pt"/>
<asp:TreeNodeStyle ChildNodesPadding="10"
Font-Size="8pt"/>
</LevelStyles>
<Nodes>
<asp:TreeNode Text="Table of Contents"
Expanded="true">
<asp:TreeNode Text="Chapter One">
<asp:TreeNode Text="Section 1.0">
<asp:TreeNode Text="Topic 1.0.1"/>
<asp:TreeNode Text="Topic 1.0.2"/>
<asp:TreeNode Text="Topic 1.0.3"/>
</asp:TreeNode>
<asp:TreeNode Text="Section 1.1">
<asp:TreeNode Text="Topic 1.1.1"/>
<asp:TreeNode Text="Topic 1.1.2"/>
<asp:TreeNode Text="Topic 1.1.3"/>
<asp:TreeNode Text="Topic 1.1.4"/>
</asp:TreeNode>
</asp:TreeNode>
<asp:TreeNode Text="Chapter Two">
<asp:TreeNode Text="Section 2.0">
<asp:TreeNode Text="Topic 2.0.1"/>
<asp:TreeNode Text="Topic 2.0.2"/>
</asp:TreeNode>
</asp:TreeNode>
</asp:TreeNode>
<asp:TreeNode Text="Appendix A" />
<asp:TreeNode Text="Appendix B" />
<asp:TreeNode Text="Appendix C" />
</Nodes>
</asp:TreeView>
</form>
</body>
</html>
<%@ Page Language="VB" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
If Not IsPostBack Then
' Use the Add and Remove methods to programmatically
' remove the Appendix C node and replace it with a new
' node.
LinksTreeView.Nodes.Remove(LinksTreeView.Nodes(3))
LinksTreeView.Nodes.Add(New TreeNode("New Appendix C"))
' Use the AddAt and RemoveAt methods to programmatically
' remove the Chapter One node and replace it with a new node.
LinksTreeView.Nodes(0).ChildNodes.RemoveAt(0)
LinksTreeView.Nodes(0).ChildNodes.AddAt(0, New TreeNode("New Chapter One"))
' Use the Clear method to remove all the child nodes of the
' Chapter Two node.
LinksTreeView.Nodes(0).ChildNodes(1).ChildNodes.Clear()
End If
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>TreeNodeCollection Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>TreeNodeCollection Example</h3>
<asp:TreeView id="LinksTreeView"
Font-Names= "Arial"
ForeColor="Blue"
runat="server">
<LevelStyles>
<asp:TreeNodeStyle ChildNodesPadding="10"
Font-Bold="true"
Font-Size="12pt"
ForeColor="DarkGreen"/>
<asp:TreeNodeStyle ChildNodesPadding="5"
Font-Bold="true"
Font-Size="10pt"/>
<asp:TreeNodeStyle ChildNodesPadding="5"
Font-UnderLine="true"
Font-Size="10pt"/>
<asp:TreeNodeStyle ChildNodesPadding="10"
Font-Size="8pt"/>
</LevelStyles>
<Nodes>
<asp:TreeNode Text="Table of Contents"
Expanded="true">
<asp:TreeNode Text="Chapter One">
<asp:TreeNode Text="Section 1.0">
<asp:TreeNode Text="Topic 1.0.1"/>
<asp:TreeNode Text="Topic 1.0.2"/>
<asp:TreeNode Text="Topic 1.0.3"/>
</asp:TreeNode>
<asp:TreeNode Text="Section 1.1">
<asp:TreeNode Text="Topic 1.1.1"/>
<asp:TreeNode Text="Topic 1.1.2"/>
<asp:TreeNode Text="Topic 1.1.3"/>
<asp:TreeNode Text="Topic 1.1.4"/>
</asp:TreeNode>
</asp:TreeNode>
<asp:TreeNode Text="Chapter Two">
<asp:TreeNode Text="Section 2.0">
<asp:TreeNode Text="Topic 2.0.1"/>
<asp:TreeNode Text="Topic 2.0.2"/>
</asp:TreeNode>
</asp:TreeNode>
</asp:TreeNode>
<asp:TreeNode Text="Appendix A" />
<asp:TreeNode Text="Appendix B" />
<asp:TreeNode Text="Appendix C" />
</Nodes>
</asp:TreeView>
</form>
</body>
</html>
注解
该TreeNodeCollection类用于在控件中TreeView存储和管理对象的集合TreeNode。 该 TreeView 控件在其两个属性中使用 TreeNodeCollection 类。 它将根节点 Nodes 存储在属性中,以及属性中的 CheckedNodes 选定节点。 该 TreeNodeCollection 集合还用于 ChildNodes 属性以存储子节点 ((如果有) )。
该 TreeNodeCollection 类支持多种访问集合中项的方法:
使用该方法 GetEnumerator 创建可用于循环访问集合的枚举器。
使用
foreach
(C#) 或For Each
(Visual Basic) 循环访问集合。
可以通过添加和删除TreeNode对象以编程方式管理TreeNodeCollection该对象。 若要将节点添加到集合,请使用 Add 或 AddAt 方法。 若要从集合中删除节点,请使用Remove或RemoveAtClear方法。
备注
TreeView当控件绑定到数据源时,每次绑定发生时,Nodes都会自动填充集合ChildNodes。 绑定之间的集合的任何更改都将丢失。 若要保留这些更改,请更新数据源或每次绑定时手动重新生成集合。
包含 TreeNodeCollection 属性和方法,可用于检索有关集合本身的信息。 若要了解集合中的项数,请使用该 Count 属性。 如果要确定集合是否包含特定 TreeNode 对象,请使用 Contains 该方法。 若要获取集合中对象的索引 TreeNode ,请使用 IndexOf 该方法。
构造函数
TreeNodeCollection() |
使用默认值初始化 TreeNodeCollection 类的新实例。 |
TreeNodeCollection(TreeNode) |
使用指定的父节点(或所有者)初始化 TreeNodeCollection 类的新实例。 |
属性
Count |
获取 TreeNodeCollection 对象中的项数。 |
IsSynchronized |
获取一个值,该值指示是否同步对 TreeNodeCollection 的访问(线程安全)。 |
Item[Int32] |
获取 TreeNode 对象中指定索引处的 TreeNodeCollection 对象。 |
SyncRoot |
获取一个对象,该对象可用于同步对 TreeNodeCollection 对象的访问。 |
方法
Add(TreeNode) |
将指定的 TreeNode 对象追加到 TreeNodeCollection 对象的结尾。 |
AddAt(Int32, TreeNode) |
将指定的 TreeNode 对象插入到 TreeNodeCollection 对象中的指定索引位置。 |
Clear() |
清空 TreeNodeCollection 对象。 |
Contains(TreeNode) |
确定指定的 TreeNode 对象是否在集合中。 |
CopyTo(TreeNode[], Int32) |
从目标数组的指定索引开始,将 TreeNodeCollection 对象中的所有项复制到 TreeNode 对象的一维兼容数组。 |
Equals(Object) |
确定指定对象是否等于当前对象。 (继承自 Object) |
GetEnumerator() |
返回一个可用于循环访问 TreeNodeCollection 对象的枚举数。 |
GetHashCode() |
作为默认哈希函数。 (继承自 Object) |
GetType() |
获取当前实例的 Type。 (继承自 Object) |
IndexOf(TreeNode) |
确定指定的 TreeNode 对象的索引。 |
MemberwiseClone() |
创建当前 Object 的浅表副本。 (继承自 Object) |
Remove(TreeNode) |
从 TreeNode 对象中移除指定的 TreeNodeCollection 对象。 |
RemoveAt(Int32) |
从 TreeNode 对象中移除指定索引位置的 TreeNodeCollection 对象。 |
ToString() |
返回表示当前对象的字符串。 (继承自 Object) |
显式接口实现
ICollection.CopyTo(Array, Int32) |
从目标数组的指定索引开始,将 TreeNodeCollection 对象中的所有项复制到兼容的一维 Array 中。 |
IStateManager.IsTrackingViewState |
获取一个值,该值指示 TreeNodeCollection 对象是否保存对其视图状态的更改。 |
IStateManager.LoadViewState(Object) |
加载 TreeNodeCollection 对象先前保存的视图状态。 |
IStateManager.SaveViewState() |
将视图状态的更改保存到 Object。 |
IStateManager.TrackViewState() |
指示 TreeNodeCollection 跟踪其视图状态的更改。 |
扩展方法
Cast<TResult>(IEnumerable) |
将 IEnumerable 的元素强制转换为指定的类型。 |
OfType<TResult>(IEnumerable) |
根据指定类型筛选 IEnumerable 的元素。 |
AsParallel(IEnumerable) |
启用查询的并行化。 |
AsQueryable(IEnumerable) |
将 IEnumerable 转换为 IQueryable。 |