TreeNodeCollection.ICollection.CopyTo(Array, Int32) Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Copies all the items from the TreeNodeCollection object to a compatible one-dimensional Array, starting at the specified index in the target array.
virtual void System.Collections.ICollection.CopyTo(Array ^ array, int index) = System::Collections::ICollection::CopyTo;
void ICollection.CopyTo (Array array, int index);
abstract member System.Collections.ICollection.CopyTo : Array * int -> unit
override this.System.Collections.ICollection.CopyTo : Array * int -> unit
Sub CopyTo (array As Array, index As Integer) Implements ICollection.CopyTo
Parameters
- array
- Array
A zero-based Array object that receives the copied items from the TreeNodeCollection.
- index
- Int32
The position in the target array at which to start receiving the copied content.
Implements
Exceptions
array
is not an array of TreeNode objects.
Examples
The following example demonstrates how to use the CopyTo method to copy the values of a TreeNodeCollection into an array. Notice that the Nodes property returns a TreeNodeCollection object.
<%@ 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 the TreeView control contains any root nodes, display the
// text value of each node.
if (LinksTreeView.Nodes.Count > 0)
{
// Declare an array of TreeNode objects.
TreeNode[] RootNodeArray = new TreeNode[LinksTreeView.Nodes.Count];
// Use the CopyTo method to copy the root nodes into the array.
LinksTreeView.Nodes.CopyTo(RootNodeArray, 0);
// Display the root nodes.
foreach (TreeNode node in RootNodeArray)
{
Message.Text += node.Text + "<br />";
}
}
else
{
Message.Text = "The TreeView control does not have any nodes.";
}
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>TreeNodeCollection CopyTo Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>TreeNodeCollection CopyTo 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="Subtopic 1"/>
<asp:TreeNode Text="Subtopic 2"/>
</asp:TreeNode>
<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>
<br /><br />
<asp:Label id="Message"
runat="server"/>
</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 the TreeView control contains any root nodes, display the
' text value of each node.
If LinksTreeView.Nodes.Count > 0 Then
' Declare an array of TreeNode objects.
Dim RootNodeArray(LinksTreeView.Nodes.Count - 1) As TreeNode
' Use the CopyTo method to copy the root nodes into the array.
LinksTreeView.Nodes.CopyTo(RootNodeArray, 0)
' Display the root nodes.
Dim node As TreeNode
For Each node In RootNodeArray
Message.Text &= node.Text & "<br />"
Next node
Else
Message.Text = "The TreeView control does not have any nodes."
End If
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>TreeNodeCollection CopyTo Example</title>
</head>
<body>
<form id="form1" runat="server">
<h3>TreeNodeCollection CopyTo 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="Subtopic 1"/>
<asp:TreeNode Text="Subtopic 2"/>
</asp:TreeNode>
<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>
<br /><br />
<asp:Label id="Message"
runat="server"/>
</form>
</body>
</html>
Remarks
Use the CopyTo method to copy the contents of the TreeNodeCollection into the specified zero-based System.Array object. Items are copied starting at the specified index of the target array. With the System.Array object, you can then use array syntax to access the items in the TreeNodeCollection.
As an alternative, you can also use the GetEnumerator method to create an enumerator that can be used to access the items in the collection.