TreeNode クラス
アセンブリ: System.Web (system.web.dll 内)


TreeView コントロールはノードで構成されます。ツリー内の各エントリはノードと呼ばれ、TreeNode オブジェクトで表されます。他のノードを格納するノードは親ノードと呼ばれます。他のノードに格納されるノードは子ノードと呼ばれます。子ノードを持たないノードは葉ノードと呼ばれます。他のノードに格納されておらず、他のすべてのノードの先祖となるノードはルート ノードです。ノードは、親と子の両方に該当することがあります。ただし、1 つのノードがルート ノード、親ノード、および葉ノードのうちの 2 つ以上に該当することはありません。ノードの表示と動作に関する一部のプロパティは、ノードがルート、親、葉のどのノードに該当するかによって決定されます。
通常のツリーにはルート ノードが 1 つしかありませんが、TreeView コントロールを使用すると、ツリー構造に複数のルート ノードを追加できます。この機能は、製品カテゴリ一覧のように 1 つのメインのルート ノードを表示せずに項目一覧を表示する場合に便利です。
ノードは、主にデータを Text プロパティと Value プロパティの、2 つのプロパティに格納します。Text プロパティの値は TreeView コントロールに表示されます。Value プロパティは、ポストバック イベントの処理に使用するデータなど、ノードに関する追加データを格納するために使用されます。また、ノードには、そのノードから ValuePath プロパティ内のルート ノードへのパスも格納されます。ValuePath プロパティは、ルート ノードに対するそのノードの相対的な位置を示します。
![]() |
---|
同じレベルにあるノードは、それぞれの Value プロパティの値が一意であることが必要です。同一レベルの複数のノードでこの値が同じであると、TreeView コントロールは各ノードを区別できません。この場合、重複した値を持つノードをユーザーがクリックすると、最初に TreeView コントロールに表示されているノードが選択されます。 |
TreeNode オブジェクトは、次の 4 つのユーザー インターフェイス (UI: User Interface) 要素で構成されます。これらの要素は、カスタマイズしたり、非表示にしたりできます。
TreeView クラスの ExpandImageUrl、CollapseImageUrl、NoExpandImageUrl の各プロパティを設定すると、展開可能、折りたたみ可能、および展開不能の各ノード インジケータにカスタム イメージを指定できます。TreeView クラスの ShowExpandCollapse プロパティを false に設定すると、展開ノード インジケータ アイコンを完全に非表示にできます。
ノードの隣にあるチェック ボックスを表示するには、TreeView クラスの ShowCheckBoxes プロパティを設定します。ShowCheckBoxes プロパティを TreeNodeType.Node 以外の値に設定すると、指定したノード型の隣にチェック ボックスが表示されます。ノードの ShowCheckBox プロパティを設定することによって、各ノードのチェック ボックスを選択的にオーバーライドできます。チェック ボックスが表示されている場合は、Checked プロパティを使用して、そのチェック ボックスが選択されているかどうかを確認します。
ImageUrl プロパティを設定することによって、ノードにイメージを表示できます。このイメージは、ノード テキストの隣に表示されます。
TreeView コントロールのノードのテキストは、2 種類のモード (選択モードとナビゲーション モード) のどちらかで表示できます。既定では、ノードは選択モードになっています。ノードをナビゲーション モードにするには、ノードの NavigateUrl プロパティを空の文字列 ("") 以外の値に設定します。ノードを選択モードにするには、ノードの NavigateUrl プロパティを空の文字列に設定します。
既定では、選択モードのノードをクリックすると、ページがサーバーにポストバックされ、SelectedNodeChanged イベントが発生します。オプションで、ノードの SelectAction プロパティを設定し、別のイベントを指定できます。詳細については、「SelectAction」を参照してください。選択モードでクリックされたノードを確認するには、TreeView コントロールの SelectedNode プロパティを使用します。
ノードがナビゲーション モードの場合、選択項目のすべてのイベントは、そのノードに対して無効になります。ナビゲーション モードのノードをクリックすると、指定された URL に移動します。オプションで Target プロパティを設定し、リンクされた内容が表示されるウィンドウまたは枠を指定できます。
TreeNode クラスには、ノードの状態を格納するために使用される複数のプロパティが格納されます。Selected プロパティを使用して、ノードが選択されているかどうかを確認します。ノードが展開されているかどうかを確認するには、Expanded プロパティを使用します。DataBound プロパティは、ノードがデータにバインドされているかどうかを確認するために使用します。ノードがデータにバインドされている場合、DataItem プロパティを使用して基になるデータにアクセスできます。
クラスには、ツリー内の他のノードに対するそのノードの相対的な位置を確認するための複数のプロパティが用意されています。Depth プロパティを使用して、ノードの深さを確認します。ValuePath プロパティを使用して、現在のノードからルート ノードまでのノードの区切られたリストを取得できます。ノードの親ノードを確認するには、Parent プロパティを使用します。子ノードには、ChildNodes コレクションを使用してアクセスします。
データのサイズやカスタム コンテンツがユーザーの入力に依存する場合もあるため、ツリー構造をあらかじめ静的に定義するのは現実的ではありません。このため、TreeView コントロールは動的なノード ポピュレーションをサポートしています。ノードが展開されている場合、実行時にデータを設定できます。動的なノード ポピュレーションの詳細については、PopulateOnDemand プロパティのトピックを参照してください。
TreeNode のインスタンスの初期プロパティ値の一覧については、TreeNode コンストラクタのトピックを参照してください。

次のコード例にフレームを設定する方法を次のコード例に示します。
<html> <frameset cols="30%, 75%"> <frame name="Menu" src="TreeViewFramevb.aspx"/> <frame name="Content" src="Home.aspx"/> </frameset> </html>
<html> <frameset cols="30%, 75%"> <frame name="Menu" src="TreeViewFramecs.aspx"/> <frame name="Content" src="Home.aspx"/> </frameset> </html>
宣言構文を使用して TreeView コントロールに TreeNode オブジェクトを作成する方法を次のコード例に示します。この例は、前の例のフレームセット内で目次を表示するために使用されます。
<%@ Page Language="VB" %> <html> <body> <form runat="server"> <h3>TreeView Declarative Syntax Example</h3> <asp:TreeView id="SampleTreeView" runat="server"> <Nodes> <asp:TreeNode Value="Home" NavigateUrl="Home.aspx" Text="Home" Target="Content" Expanded="True"> <asp:TreeNode Value="Page 1" NavigateUrl="Page1.aspx" Text="Page1" Target="Content"> <asp:TreeNode Value="Section 1" NavigateUrl="Section1.aspx" Text="Section 1" Target="Content"/> </asp:TreeNode> <asp:TreeNode Value="Page 2" NavigateUrl="Page2.aspx" Text="Page 2" Target="Content"> </asp:TreeNode> </asp:TreeNode> </Nodes> </asp:TreeView> </form> </body> </html>
<%@ Page Language="C#" %> <html> <body> <form runat="server"> <h3>TreeView Declarative Syntax Example</h3> <asp:TreeView id="SampleTreeView" runat="server"> <Nodes> <asp:TreeNode Value="Home" NavigateUrl="Home.aspx" Text="Home" Target="Content" Expanded="True"> <asp:TreeNode Value="Page 1" NavigateUrl="Page1.aspx" Text="Page1" Target="Content"> <asp:TreeNode Value="Section 1" NavigateUrl="Section1.aspx" Text="Section 1" Target="Content"/> </asp:TreeNode> <asp:TreeNode Value="Page 2" NavigateUrl="Page2.aspx" Text="Page 2" Target="Content"> </asp:TreeNode> </asp:TreeNode> </Nodes> </asp:TreeView> </form> </body> </html>


System.Web.UI.WebControls.TreeNode


Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


TreeNode クラス
アセンブリ: System.Windows.Forms (system.windows.forms.dll 内)

<SerializableAttribute> _ Public Class TreeNode Inherits MarshalByRefObject Implements ICloneable, ISerializable
[SerializableAttribute] public ref class TreeNode : public MarshalByRefObject, ICloneable, ISerializable

Nodes コレクションには、現在の TreeNode に割り当てられているすべての子 TreeNode オブジェクトが格納されます。TreeNode に対して、追加、削除、またはクローン作成を実行できます。その場合、すべての子ツリー ノードも追加、削除、またはクローン作成されます。各 TreeNode には、他の TreeNode オブジェクトのコレクションを格納できます。このため、コレクションを反復処理するときに、TreeView 内の現在の位置がわかりにくくなる可能性があります。ツリー構造内の位置を確認するには、FullPath プロパティを使用します。FullPath 文字列を解析するときに PathSeparator 文字列値を使用すると、1 つの TreeNode ラベルがどこから始まってどこで終わっているかがわかります。
TreeNode ラベルは、Text プロパティを明示的に設定することによって設定します。別の方法として、Text プロパティを表す文字列パラメータをとる TreeNode コンストラクタの 1 つを使用して、ツリー ノードを作成する方法もあります。TreeNode にイメージが表示される場合、ラベルはそのイメージの横に表示されます。
ツリー ノードの横にイメージを表示するには、親である TreeView コントロールの ImageList プロパティに ImageList を割り当て、ImageList プロパティのインデックス値を参照することによって Image を割り当てます。ImageIndex プロパティには、TreeNode が選択されていないときに表示する Image のインデックス値を設定します。同様に、SelectedImageIndex プロパティには、TreeNode が選択されているときに表示する Image のインデックス値を設定します。
特定のツリー ノードを選択し、Nodes コレクションを反復処理するには、FirstNode、LastNode、NextNode、PrevNode、NextVisibleNode、PrevVisibleNode の各プロパティ値を使用します。これらのプロパティのいずれかによって返された TreeNode を TreeView.SelectedNode プロパティに割り当てると、TreeView コントロールでそのツリー ノードが選択されます。
ツリー ノードを展開して、その次のレベルにある子ツリー ノードを表示できます。TreeNode の横にプラス (+) ボタンが表示されている場合は、ユーザーがそのボタンを押すと TreeNode が展開されます。または、Expand メソッドを呼び出して TreeNode を展開することもできます。Nodes コレクション内のすべての子ツリー ノードのレベルを展開するには、ExpandAll メソッドを呼び出します。Collapse メソッドを呼び出すか、TreeNode の横にマイナス (-) ボタンが表示されている場合はユーザーがそのボタンを押したときに、子レベルの TreeNode が折りたたまれます。Toggle メソッドを呼び出して、TreeNode を展開した状態と折りたたまれた状態を切り替えることもできます。
ツリー ノードには、オプションでチェック ボックスを表示できます。チェック ボックスを表示するには、TreeView の CheckBoxes プロパティを true に設定します。チェックされた状態のツリー ノードについては、Checked プロパティが true に設定されます。
継承時の注意 TreeNode クラスでは ISerializable インターフェイスが実装されるため、シリアル化する派生クラスでもこのインターフェイスと特殊なコンストラクタを実装する必要があります。これについては、「シリアル化のカスタマイズ」で説明しています。
TreeView コントロールに顧客情報を表示するコード例を次に示します。ルート ツリー ノードに顧客名が表示され、各顧客に割り当てられた発注番号が子ツリー ノードに表示されます。この例では、1,000 人の顧客が表示され、顧客ごとに 15 の発注内容が示されます。BeginUpdate メソッドと EndUpdate メソッドを使用すると、TreeView は再描画されません。TreeView が TreeNode オブジェクトを作成して描画する間、待機 Cursor が表示されます。この例では、Order オブジェクトのコレクションを保持できる Customer オブジェクトが存在する必要があります。また、TreeView コントロールのインスタンスが Form 上に作成されている必要もあります。
' Create a new ArrayList to hold the Customer objects. Private customerArray As New ArrayList() Private Sub FillMyTreeView() ' Add customers to the ArrayList of Customer objects. Dim x As Integer For x = 0 To 999 customerArray.Add(New Customer("Customer" + x.ToString())) Next x ' Add orders to each Customer object in the ArrayList. Dim customer1 As Customer For Each customer1 In customerArray Dim y As Integer For y = 0 To 14 customer1.CustomerOrders.Add(New Order("Order" + y.ToString())) Next y Next customer1 ' Display a wait cursor while the TreeNodes are being created. Cursor.Current = New Cursor("MyWait.cur") ' Suppress repainting the TreeView until all the objects have been created. treeView1.BeginUpdate() ' Clear the TreeView each time the method is called. treeView1.Nodes.Clear() ' Add a root TreeNode for each Customer object in the ArrayList. Dim customer2 As Customer For Each customer2 In customerArray treeView1.Nodes.Add(New TreeNode(customer2.CustomerName)) ' Add a child TreeNode for each Order object in the current Customer object. Dim order1 As Order For Each order1 In customer2.CustomerOrders treeView1.Nodes(customerArray.IndexOf(customer2)).Nodes.Add( _ New TreeNode(customer2.CustomerName + "." + order1.OrderID)) Next order1 Next customer2 ' Reset the cursor to the default for all controls. Cursor.Current = System.Windows.Forms.Cursors.Default ' Begin repainting the TreeView. treeView1.EndUpdate() End Sub 'FillMyTreeView
// Create a new ArrayList to hold the Customer objects. private ArrayList customerArray = new ArrayList(); private void FillMyTreeView() { // Add customers to the ArrayList of Customer objects. for(int x=0; x<1000; x++) { customerArray.Add(new Customer("Customer" + x.ToString())); } // Add orders to each Customer object in the ArrayList. foreach(Customer customer1 in customerArray) { for(int y=0; y<15; y++) { customer1.CustomerOrders.Add(new Order("Order" + y.ToString())); } } // Display a wait cursor while the TreeNodes are being created. Cursor.Current = new Cursor("MyWait.cur"); // Suppress repainting the TreeView until all the objects have been created. treeView1.BeginUpdate(); // Clear the TreeView each time the method is called. treeView1.Nodes.Clear(); // Add a root TreeNode for each Customer object in the ArrayList. foreach(Customer customer2 in customerArray) { treeView1.Nodes.Add(new TreeNode(customer2.CustomerName)); // Add a child treenode for each Order object in the current Customer object. foreach(Order order1 in customer2.CustomerOrders) { treeView1.Nodes[customerArray.IndexOf(customer2)].Nodes.Add( new TreeNode(customer2.CustomerName + "." + order1.OrderID)); } } // Reset the cursor to the default for all controls. Cursor.Current = Cursors.Default; // Begin repainting the TreeView. treeView1.EndUpdate(); }
void FillMyTreeView() { // Add customers to the ArrayList of Customer objects. for ( int x = 0; x < 1000; x++ ) { customerArray->Add( gcnew Customer( "Customer " + x ) ); } // Add orders to each Customer object in the ArrayList. IEnumerator^ myEnum = customerArray->GetEnumerator(); while ( myEnum->MoveNext() ) { Customer^ customer1 = safe_cast<Customer^>(myEnum->Current); for ( int y = 0; y < 15; y++ ) { customer1->CustomerOrders->Add( gcnew Order( "Order " + y ) ); } } // Display a wait cursor while the TreeNodes are being created. ::Cursor::Current = gcnew System::Windows::Forms::Cursor( "MyWait.cur" ); // Suppress repainting the TreeView until all the objects have been created. treeView1->BeginUpdate(); // Clear the TreeView each time the method is called. treeView1->Nodes->Clear(); // Add a root TreeNode for each Customer object in the ArrayList. while ( myEnum->MoveNext() ) { Customer^ customer2 = safe_cast<Customer^>(myEnum->Current); treeView1->Nodes->Add( gcnew TreeNode( customer2->CustomerName ) ); // Add a child treenode for each Order object in the current Customer object. IEnumerator^ myEnum = customer2->CustomerOrders->GetEnumerator(); while ( myEnum->MoveNext() ) { Order^ order1 = safe_cast<Order^>(myEnum->Current); treeView1->Nodes[ customerArray->IndexOf( customer2 ) ]->Nodes->Add( gcnew TreeNode( customer2->CustomerName + "." + order1->OrderID ) ); } } // Reset the cursor to the default for all controls. ::Cursor::Current = Cursors::Default; // Begin repainting the TreeView. treeView1->EndUpdate(); }
// Create a new ArrayList to hold the Customer objects. private ArrayList customerArray = new ArrayList(); private void FillMyTreeView() { // Add customers to the ArrayList of Customer objects. for (int x = 0; x < 1000; x++) { customerArray.Add(new Customer("Customer" + ((Int32)x).ToString())); } // Add orders to each Customer object in the ArrayList. for (int iCtr = 0; iCtr < customerArray.get_Count(); iCtr++) { Customer customer1 = (Customer)customerArray.get_Item(iCtr); for (int y = 0; y < 15; y++) { customer1.get_CustomerOrders().Add(new Order("Order" + ((Int32)y).ToString())); } } // Display a wait cursor while the TreeNodes are being created. get_Cursor().set_Current(new Cursor("MyWait.cur")); // Suppress repainting the TreeView until all the objects have // been created. treeView1.BeginUpdate(); // Clear the TreeView each time the method is called. treeView1.get_Nodes().Clear(); // Add a root TreeNode for each Customer object in the ArrayList. for (int iCtr1 = 0; iCtr1 < customerArray.get_Count(); iCtr1++) { Customer customer2 = (Customer)customerArray.get_Item(iCtr1); treeView1.get_Nodes().Add(new TreeNode(customer2.get_CustomerName())); // Add a child treenode for each Order object in the current // Customer object. for (int iCtr2 = 0; iCtr2 < customer2.get_CustomerOrders(). get_Count(); iCtr2++) { Order order1 = (Order)customer2.get_CustomerOrders(). get_Item(iCtr2); treeView1.get_Nodes(). get_Item(customerArray.IndexOf(customer2)).get_Nodes(). Add(new TreeNode(customer2.get_CustomerName() + "." + order1.get_OrderID())); } } // Reset the cursor to the default for all controls. get_Cursor().set_Current(Cursors.get_Default()); // Begin repainting the TreeView. treeView1.EndUpdate(); } //FillMyTreeView

System.MarshalByRefObject
System.Windows.Forms.TreeNode
System.ComponentModel.Design.ObjectSelectorEditor.SelectorNode


Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


TreeNode コンストラクタ ()
アセンブリ: System.Web (system.web.dll 内)


既定値を使用して TreeNode クラスの新しいインスタンスを初期化するには、このコンストラクタを使用します。
![]() |
---|
このコンストラクタを使用すると、TreeNode オブジェクトのすべてのプロパティが既定値に設定されます。オブジェクトの作成後に必要に応じてプロパティを設定してください。 |

このコンストラクタを使用して、TreeView コントロールにノードを動的に追加する方法を次のコード例に示します。
<%@ Page Language="VB" %> <script runat="server"> Sub Page_Init(ByVal sender As Object, ByVal e As EventArgs) If Not IsPostBack Then ' Add the first tree to the TreeView control. CreateTree("Section 1") ' Add the second tree to the TreeView control. CreateTree("Section 2") End If End Sub Sub CreateTree(ByVal NodeText As String) ' Create the root node using the default constructor. Dim root As TreeNode = New TreeNode root.Text = NodeText ' Use the ChildNodes property of the root TreeNode to add child nodes. ' Create the node using the constructor that takes the text parameter. root.ChildNodes.Add(New TreeNode("Topic 1")) ' Create the node using the constructor that takes the text and value parameters. root.ChildNodes.Add(New TreeNode("Topic 2", "Value 2")) ' Create the node using the constructor that takes the text, value, ' and imageUrl parameters. root.ChildNodes.Add(New TreeNode("Topic 3", "Value 3", "Image1.jpg")) ' Create the node using the constructor that takes the text, value, ' imageUrl, navigateUrl, and target parameters. root.ChildNodes.Add(New TreeNode("Topic 4", "Value 4", "Image1.jpg", "http://www.microsoft.com", "_blank")) ' Add the root node to the Nodes collection of the TreeView control. DynamicTreeView.Nodes.Add(root) End Sub </script> <html> <body> <form runat="server"> <h3>TreeNode Constructor Example</h3> <asp:TreeView id="DynamicTreeView" EnableClientScript="false" InitialExpandDepth="2" runat="server"> </asp:TreeView> </form> </body> </html>
<%@ Page Language="C#" %> <script runat="server"> void Page_Init(Object sender, EventArgs e) { if(!IsPostBack) { // Add the first tree to the TreeView control. CreateTree("Section 1"); // Add the second tree to the TreeView control. CreateTree("Section 2"); } } void CreateTree(String NodeText) { // Create the root node using the default constructor. TreeNode root = new TreeNode(); root.Text = NodeText; // Use the ChildNodes property of the root TreeNode to add child nodes. // Create the node using the constructor that takes the text parameter. root.ChildNodes.Add(new TreeNode("Topic 1")); // Create the node using the constructor that takes the text and value parameters. root.ChildNodes.Add(new TreeNode("Topic 2", "Value 2")); // Create the node using the constructor that takes the text, value, // and imageUrl parameters. root.ChildNodes.Add(new TreeNode("Topic 3", "Value 3", "Image1.jpg")); // Create the node using the constructor that takes the text, value, // imageUrl, navigateUrl, and target parameters. root.ChildNodes.Add(new TreeNode("Topic 4", "Value 4", "Image1.jpg", "http://www.microsoft.com", "_blank")); // Add the root node to the Nodes collection of the TreeView control. DynamicTreeView.Nodes.Add(root); } </script> <html> <body> <form runat="server"> <h3>TreeNode Constructor Example</h3> <asp:TreeView id="DynamicTreeView" EnableClientScript="false" InitialExpandDepth="2" runat="server"> </asp:TreeView> </form> </body> </html>

Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


TreeNode コンストラクタ ()
アセンブリ: System.Windows.Forms (system.windows.forms.dll 内)


子ツリー ノードの割り当て先とするルート ツリー ノードを作成するコード例を次に示します。ArrayList の各 Customer オブジェクトの子ツリー ノードは、ルート ツリー ノードと、Customer オブジェクトに割り当てられている各 Order オブジェクトの子ツリー ノードに追加されます。Customer オブジェクトは Tag プロパティに割り当てられ、Customer オブジェクトを表すツリー ノードは Orange テキストで表示されます。この例は、Customer オブジェクトと Order オブジェクトが定義されていて、TreeView コントロールが Form に配置されていて、Customer オブジェクトを含む customerArray という名前の ArrayList があることを前提にしています。
Public Sub AddRootNodes() ' Add a root node to assign the customer nodes to. Dim rootNode As TreeNode rootNode = New TreeNode() rootNode.Text = "CustomerList" ' Add a main root treenode. myTreeView.Nodes.Add(rootNode) ' Add a root treenode for each Customer object in the ArrayList. Dim myCustomer As Customer For Each myCustomer In customerArray ' Add a child treenode for each Order object. Dim i As Integer = 0 Dim myTreeNodeArray(4) As TreeNode Dim myOrder As Order For Each myOrder In myCustomer.CustomerOrders myTreeNodeArray(i) = New TreeNode(myOrder.OrderID) i += 1 Next myOrder Dim customerNode As New TreeNode(myCustomer.CustomerName, _ myTreeNodeArray) ' Display the customer names with and Orange font. customerNode.ForeColor = Color.Orange ' Store the Customer object in the Tag property of the TreeNode. customerNode.Tag = myCustomer myTreeView.Nodes(0).Nodes.Add(customerNode) Next myCustomer End Sub
public void AddRootNodes() { // Add a root node to assign the customer nodes to. TreeNode rootNode = new TreeNode(); rootNode.Text = "CustomerList"; // Add a main root treenode. myTreeView.Nodes.Add(rootNode); // Add a root treenode for each 'Customer' object in the ArrayList. foreach(Customer myCustomer in customerArray) { // Add a child treenode for each Order object. int i = 0; TreeNode[] myTreeNodeArray = new TreeNode[5]; foreach(Order myOrder in myCustomer.CustomerOrders) { myTreeNodeArray[i] = new TreeNode(myOrder.OrderID); i++; } TreeNode customerNode = new TreeNode(myCustomer.CustomerName , myTreeNodeArray); // Display the customer names with and Orange font. customerNode.ForeColor = Color.Orange; // Store the Customer object in the Tag property of the TreeNode. customerNode.Tag = myCustomer; myTreeView.Nodes[0].Nodes.Add(customerNode); } }
void AddRootNodes() { // Add a root node to assign the customer nodes to. TreeNode^ rootNode = gcnew TreeNode; rootNode->Text = "CustomerList"; // Add a main root treenode. myTreeView->Nodes->Add( rootNode ); // Add a root treenode for each 'Customer' object in the ArrayList. IEnumerator^ myEnum = customerArray->GetEnumerator(); while ( myEnum->MoveNext() ) { Customer^ myCustomer = safe_cast<Customer^>(myEnum->Current); // Add a child treenode for each Order object. int i = 0; array<TreeNode^>^myTreeNodeArray = gcnew array<TreeNode^>(5); IEnumerator^ myEnum = myCustomer->CustomerOrders->GetEnumerator(); while ( myEnum->MoveNext() ) { Order^ myOrder = safe_cast<Order^>(myEnum->Current); myTreeNodeArray[ i ] = gcnew TreeNode( myOrder->OrderID ); i++; } TreeNode^ customerNode = gcnew TreeNode( myCustomer->CustomerName,myTreeNodeArray ); // Display the customer names with and Orange font. customerNode->ForeColor = Color::Orange; // Store the Customer Object* in the Tag property of the TreeNode. customerNode->Tag = myCustomer; myTreeView->Nodes[ 0 ]->Nodes->Add( customerNode ); } }
public void AddRootNodes() { // Add a root node to assign the customer nodes to. TreeNode rootNode = new TreeNode(); rootNode.set_Text("CustomerList"); // Add a main root treenode. myTreeView.get_Nodes().Add(rootNode); // Add a root treenode for each 'Customer' object in the ArrayList. for (int iCtr1 = 0; iCtr1 < customerArray.get_Count(); iCtr1++) { Customer myCustomer = (Customer)customerArray.get_Item(iCtr1); // Add a child treenode for each Order object. int i = 0; TreeNode myTreeNodeArray[] = new TreeNode[5]; for (int iCtr2 = 0; iCtr2 < myCustomer.customerOrders.get_Count(); iCtr2++) { Order myOrder = (Order)myCustomer.customerOrders.get_Item(iCtr2); myTreeNodeArray.set_Item(i, new TreeNode(myOrder.orderID)); i++; } TreeNode customerNode = new TreeNode(myCustomer.customerName, myTreeNodeArray); // Display the customer names with and Orange font. customerNode.set_ForeColor(Color.get_Orange()); // Store the Customer object in the Tag property of the TreeNode. customerNode.set_Tag(myCustomer); myTreeView.get_Nodes().get_Item(0).get_Nodes().Add(customerNode); } } //AddRootNodes

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


TreeNode コンストラクタ (String, String)
アセンブリ: System.Web (system.web.dll 内)


このコンストラクタを使用して、text パラメータで指定されたテキストおよび value パラメータで指定された値で TreeNode クラスの新しいインスタンスを初期化します。
TreeNode のインスタンスの初期プロパティ値を次の表に示します。

このコンストラクタを使用して、TreeView コントロールにノードを動的に追加する方法を次のコード例に示します。
<%@ Page Language="VB" %> <script runat="server"> Sub Page_Init(ByVal sender As Object, ByVal e As EventArgs) If Not IsPostBack Then ' Add the first tree to the TreeView control. CreateTree("Section 1") ' Add the second tree to the TreeView control. CreateTree("Section 2") End If End Sub Sub CreateTree(ByVal NodeText As String) ' Create the root node using the default constructor. Dim root As TreeNode = New TreeNode root.Text = NodeText ' Use the ChildNodes property of the root TreeNode to add child nodes. ' Create the node using the constructor that takes the text parameter. root.ChildNodes.Add(New TreeNode("Topic 1")) ' Create the node using the constructor that takes the text and value parameters. root.ChildNodes.Add(New TreeNode("Topic 2", "Value 2")) ' Create the node using the constructor that takes the text, value, ' and imageUrl parameters. root.ChildNodes.Add(New TreeNode("Topic 3", "Value 3", "Image1.jpg")) ' Create the node using the constructor that takes the text, value, ' imageUrl, navigateUrl, and target parameters. root.ChildNodes.Add(New TreeNode("Topic 4", "Value 4", "Image1.jpg", "http://www.microsoft.com", "_blank")) ' Add the root node to the Nodes collection of the TreeView control. DynamicTreeView.Nodes.Add(root) End Sub </script> <html> <body> <form runat="server"> <h3>TreeNode Constructor Example</h3> <asp:TreeView id="DynamicTreeView" EnableClientScript="false" InitialExpandDepth="2" runat="server"> </asp:TreeView> </form> </body> </html>
<%@ Page Language="C#" %> <script runat="server"> void Page_Init(Object sender, EventArgs e) { if(!IsPostBack) { // Add the first tree to the TreeView control. CreateTree("Section 1"); // Add the second tree to the TreeView control. CreateTree("Section 2"); } } void CreateTree(String NodeText) { // Create the root node using the default constructor. TreeNode root = new TreeNode(); root.Text = NodeText; // Use the ChildNodes property of the root TreeNode to add child nodes. // Create the node using the constructor that takes the text parameter. root.ChildNodes.Add(new TreeNode("Topic 1")); // Create the node using the constructor that takes the text and value parameters. root.ChildNodes.Add(new TreeNode("Topic 2", "Value 2")); // Create the node using the constructor that takes the text, value, // and imageUrl parameters. root.ChildNodes.Add(new TreeNode("Topic 3", "Value 3", "Image1.jpg")); // Create the node using the constructor that takes the text, value, // imageUrl, navigateUrl, and target parameters. root.ChildNodes.Add(new TreeNode("Topic 4", "Value 4", "Image1.jpg", "http://www.microsoft.com", "_blank")); // Add the root node to the Nodes collection of the TreeView control. DynamicTreeView.Nodes.Add(root); } </script> <html> <body> <form runat="server"> <h3>TreeNode Constructor Example</h3> <asp:TreeView id="DynamicTreeView" EnableClientScript="false" InitialExpandDepth="2" runat="server"> </asp:TreeView> </form> </body> </html>

Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


TreeNode コンストラクタ

名前 | 説明 |
---|---|
TreeNode () | TreeNode クラスの新しいインスタンスを初期化します。 .NET Compact Framework によってサポートされています。 |
TreeNode (String) | ラベル テキストを指定して、TreeNode クラスの新しいインスタンスを初期化します。 .NET Compact Framework によってサポートされています。 |
TreeNode (SerializationInfo, StreamingContext) | シリアル化情報とコンテキストを指定して、TreeNode クラスの新しいインスタンスを初期化します。 |
TreeNode (String, TreeNode[]) | 指定したラベル テキストと子ツリー ノードを使用して、TreeNode クラスの新しいインスタンスを初期化します。 |
TreeNode (String, Int32, Int32) | ラベル テキストと、ツリー ノードが選択されているときと選択されていないときに表示するイメージをそれぞれ指定して、TreeNode クラスの新しいインスタンスを初期化します。 |
TreeNode (String, Int32, Int32, TreeNode[]) | ラベル テキスト、子ツリー ノード、およびツリー ノードが選択されているときと選択されていないときに表示するイメージをそれぞれ指定して、TreeNode クラスの新しいインスタンスを初期化します。 |

TreeNode コンストラクタ (SerializationInfo, StreamingContext)
アセンブリ: System.Windows.Forms (system.windows.forms.dll 内)

Dim serializationInfo As SerializationInfo Dim context As StreamingContext Dim instance As New TreeNode(serializationInfo, context)

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


TreeNode コンストラクタ (String)
アセンブリ: System.Windows.Forms (system.windows.forms.dll 内)



TreeView コントロールに顧客情報を表示するコード例を次に示します。ルート ツリー ノードに顧客名が表示され、各顧客に割り当てられた発注番号が子ツリー ノードに表示されます。この例では、1,000 人の顧客が表示され、顧客ごとに 15 の発注内容が示されます。BeginUpdate メソッドと EndUpdate メソッドを使用すると、TreeView は再描画されません。TreeView が TreeNode オブジェクトを作成して描画する間、待機 Cursor が表示されます。この例では、Order オブジェクトのコレクションを保持できる Customer オブジェクトが存在する必要があります。また、TreeView コントロールのインスタンスが Form 上に作成されている必要もあります。
' Create a new ArrayList to hold the Customer objects. Private customerArray As New ArrayList() Private Sub FillMyTreeView() ' Add customers to the ArrayList of Customer objects. Dim x As Integer For x = 0 To 999 customerArray.Add(New Customer("Customer" + x.ToString())) Next x ' Add orders to each Customer object in the ArrayList. Dim customer1 As Customer For Each customer1 In customerArray Dim y As Integer For y = 0 To 14 customer1.CustomerOrders.Add(New Order("Order" + y.ToString())) Next y Next customer1 ' Display a wait cursor while the TreeNodes are being created. Cursor.Current = New Cursor("MyWait.cur") ' Suppress repainting the TreeView until all the objects have been created. treeView1.BeginUpdate() ' Clear the TreeView each time the method is called. treeView1.Nodes.Clear() ' Add a root TreeNode for each Customer object in the ArrayList. Dim customer2 As Customer For Each customer2 In customerArray treeView1.Nodes.Add(New TreeNode(customer2.CustomerName)) ' Add a child TreeNode for each Order object in the current Customer object. Dim order1 As Order For Each order1 In customer2.CustomerOrders treeView1.Nodes(customerArray.IndexOf(customer2)).Nodes.Add( _ New TreeNode(customer2.CustomerName + "." + order1.OrderID)) Next order1 Next customer2 ' Reset the cursor to the default for all controls. Cursor.Current = System.Windows.Forms.Cursors.Default ' Begin repainting the TreeView. treeView1.EndUpdate() End Sub 'FillMyTreeView
// Create a new ArrayList to hold the Customer objects. private ArrayList customerArray = new ArrayList(); private void FillMyTreeView() { // Add customers to the ArrayList of Customer objects. for(int x=0; x<1000; x++) { customerArray.Add(new Customer("Customer" + x.ToString())); } // Add orders to each Customer object in the ArrayList. foreach(Customer customer1 in customerArray) { for(int y=0; y<15; y++) { customer1.CustomerOrders.Add(new Order("Order" + y.ToString())); } } // Display a wait cursor while the TreeNodes are being created. Cursor.Current = new Cursor("MyWait.cur"); // Suppress repainting the TreeView until all the objects have been created. treeView1.BeginUpdate(); // Clear the TreeView each time the method is called. treeView1.Nodes.Clear(); // Add a root TreeNode for each Customer object in the ArrayList. foreach(Customer customer2 in customerArray) { treeView1.Nodes.Add(new TreeNode(customer2.CustomerName)); // Add a child treenode for each Order object in the current Customer object. foreach(Order order1 in customer2.CustomerOrders) { treeView1.Nodes[customerArray.IndexOf(customer2)].Nodes.Add( new TreeNode(customer2.CustomerName + "." + order1.OrderID)); } } // Reset the cursor to the default for all controls. Cursor.Current = Cursors.Default; // Begin repainting the TreeView. treeView1.EndUpdate(); }
void FillMyTreeView() { // Add customers to the ArrayList of Customer objects. for ( int x = 0; x < 1000; x++ ) { customerArray->Add( gcnew Customer( "Customer " + x ) ); } // Add orders to each Customer object in the ArrayList. IEnumerator^ myEnum = customerArray->GetEnumerator(); while ( myEnum->MoveNext() ) { Customer^ customer1 = safe_cast<Customer^>(myEnum->Current); for ( int y = 0; y < 15; y++ ) { customer1->CustomerOrders->Add( gcnew Order( "Order " + y ) ); } } // Display a wait cursor while the TreeNodes are being created. ::Cursor::Current = gcnew System::Windows::Forms::Cursor( "MyWait.cur" ); // Suppress repainting the TreeView until all the objects have been created. treeView1->BeginUpdate(); // Clear the TreeView each time the method is called. treeView1->Nodes->Clear(); // Add a root TreeNode for each Customer object in the ArrayList. while ( myEnum->MoveNext() ) { Customer^ customer2 = safe_cast<Customer^>(myEnum->Current); treeView1->Nodes->Add( gcnew TreeNode( customer2->CustomerName ) ); // Add a child treenode for each Order object in the current Customer object. IEnumerator^ myEnum = customer2->CustomerOrders->GetEnumerator(); while ( myEnum->MoveNext() ) { Order^ order1 = safe_cast<Order^>(myEnum->Current); treeView1->Nodes[ customerArray->IndexOf( customer2 ) ]->Nodes->Add( gcnew TreeNode( customer2->CustomerName + "." + order1->OrderID ) ); } } // Reset the cursor to the default for all controls. ::Cursor::Current = Cursors::Default; // Begin repainting the TreeView. treeView1->EndUpdate(); }
// Create a new ArrayList to hold the Customer objects. private ArrayList customerArray = new ArrayList(); private void FillMyTreeView() { // Add customers to the ArrayList of Customer objects. for (int x = 0; x < 1000; x++) { customerArray.Add(new Customer("Customer" + ((Int32)x).ToString())); } // Add orders to each Customer object in the ArrayList. for (int iCtr = 0; iCtr < customerArray.get_Count(); iCtr++) { Customer customer1 = (Customer)customerArray.get_Item(iCtr); for (int y = 0; y < 15; y++) { customer1.get_CustomerOrders().Add(new Order("Order" + ((Int32)y).ToString())); } } // Display a wait cursor while the TreeNodes are being created. get_Cursor().set_Current(new Cursor("MyWait.cur")); // Suppress repainting the TreeView until all the objects have // been created. treeView1.BeginUpdate(); // Clear the TreeView each time the method is called. treeView1.get_Nodes().Clear(); // Add a root TreeNode for each Customer object in the ArrayList. for (int iCtr1 = 0; iCtr1 < customerArray.get_Count(); iCtr1++) { Customer customer2 = (Customer)customerArray.get_Item(iCtr1); treeView1.get_Nodes().Add(new TreeNode(customer2.get_CustomerName())); // Add a child treenode for each Order object in the current // Customer object. for (int iCtr2 = 0; iCtr2 < customer2.get_CustomerOrders(). get_Count(); iCtr2++) { Order order1 = (Order)customer2.get_CustomerOrders(). get_Item(iCtr2); treeView1.get_Nodes(). get_Item(customerArray.IndexOf(customer2)).get_Nodes(). Add(new TreeNode(customer2.get_CustomerName() + "." + order1.get_OrderID())); } } // Reset the cursor to the default for all controls. get_Cursor().set_Current(Cursors.get_Default()); // Begin repainting the TreeView. treeView1.EndUpdate(); } //FillMyTreeView

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


TreeNode コンストラクタ (String, Int32, Int32, TreeNode[])
アセンブリ: System.Windows.Forms (system.windows.forms.dll 内)

Public Sub New ( _ text As String, _ imageIndex As Integer, _ selectedImageIndex As Integer, _ children As TreeNode() _ )
Dim text As String Dim imageIndex As Integer Dim selectedImageIndex As Integer Dim children As TreeNode() Dim instance As New TreeNode(text, imageIndex, selectedImageIndex, children)
public: TreeNode ( String^ text, int imageIndex, int selectedImageIndex, array<TreeNode^>^ children )
public function TreeNode ( text : String, imageIndex : int, selectedImageIndex : int, children : TreeNode[] )

text パラメータの値はノードの Text プロパティに代入され、ツリー ノードのラベルになります。imageIndex 値と selectedImageIndex 値は、TreeView.ImageList プロパティに割り当てられた ImageList に格納されている Image のインデックス値です。imageIndex パラメータで参照されるイメージは、ツリー ノードが選択されていないときに表示されます。同様に、selectedImageIndex パラメータで参照されるイメージは、ツリー ノードが選択されているときに表示されます。children 配列に格納されているツリー ノードは、Nodes プロパティに格納される TreeNodeCollection に追加されます。

ImageList を作成して TreeView コントロールに割り当て、TreeView コントロールに TreeNode オブジェクトを設定するコード例を次に示します。ツリー ノードには、選択状態または非選択状態のときに表示される、ImageList からのイメージが割り当てられます。この例は、TreeView が配置された Form があり、それぞれが Order オブジェクトを格納している Customer オブジェクトが配置された ArrayList があることを前提にしています。また、Customer オブジェクトと Order オブジェクトが定義されている必要があります。
Private Sub FillTreeView() ' Load the images in an ImageList. Dim myImageList As New ImageList() myImageList.Images.Add(Image.FromFile("Default.gif")) myImageList.Images.Add(Image.FromFile("SelectedDefault.gif")) myImageList.Images.Add(Image.FromFile("Root.gif")) myImageList.Images.Add(Image.FromFile("UnselectedCustomer.gif")) myImageList.Images.Add(Image.FromFile("SelectedCustomer.gif")) myImageList.Images.Add(Image.FromFile("UnselectedOrder.gif")) myImageList.Images.Add(Image.FromFile("SelectedOrder.gif")) ' Assign the ImageList to the TreeView. myTreeView.ImageList = myImageList ' Set the TreeView control's default image and selected image indexes. myTreeView.ImageIndex = 0 myTreeView.SelectedImageIndex = 1 ' Set the index of image from the ' ImageList for selected and unselected tree nodes. Me.rootImageIndex = 2 Me.selectedCustomerImageIndex = 3 Me.unselectedCustomerImageIndex = 4 Me.selectedOrderImageIndex = 5 Me.unselectedOrderImageIndex = 6 ' Create the root tree node. Dim rootNode As New TreeNode("CustomerList") rootNode.ImageIndex = rootImageIndex rootNode.SelectedImageIndex = rootImageIndex ' Add a main root tree node. myTreeView.Nodes.Add(rootNode) ' Add a root tree node for each Customer object in the ArrayList. Dim myCustomer As Customer For Each myCustomer In customerArray ' Add a child tree node for each Order object. Dim countIndex As Integer = 0 Dim myTreeNodeArray(myCustomer.CustomerOrders.Count) As TreeNode Dim myOrder As Order For Each myOrder In myCustomer.CustomerOrders ' Add the Order tree node to the array. myTreeNodeArray(countIndex) = New TreeNode(myOrder.OrderID, _ unselectedOrderImageIndex, selectedOrderImageIndex) countIndex += 1 Next myOrder ' Add the Customer tree node. Dim customerNode As New TreeNode(myCustomer.CustomerName, _ unselectedCustomerImageIndex, selectedCustomerImageIndex, myTreeNodeArray) myTreeView.Nodes(0).Nodes.Add(customerNode) Next myCustomer End Sub
private void FillTreeView() { // Load the images in an ImageList. ImageList myImageList = new ImageList(); myImageList.Images.Add(Image.FromFile("Default.gif")); myImageList.Images.Add(Image.FromFile("SelectedDefault.gif")); myImageList.Images.Add(Image.FromFile("Root.gif")); myImageList.Images.Add(Image.FromFile("UnselectedCustomer.gif")); myImageList.Images.Add(Image.FromFile("SelectedCustomer.gif")); myImageList.Images.Add(Image.FromFile("UnselectedOrder.gif")); myImageList.Images.Add(Image.FromFile("SelectedOrder.gif")); // Assign the ImageList to the TreeView. myTreeView.ImageList = myImageList; // Set the TreeView control's default image and selected image indexes. myTreeView.ImageIndex = 0; myTreeView.SelectedImageIndex = 1; /* Set the index of image from the ImageList for selected and unselected tree nodes.*/ this.rootImageIndex = 2; this.selectedCustomerImageIndex = 3; this.unselectedCustomerImageIndex = 4; this.selectedOrderImageIndex = 5; this.unselectedOrderImageIndex = 6; // Create the root tree node. TreeNode rootNode = new TreeNode("CustomerList"); rootNode.ImageIndex = rootImageIndex; rootNode.SelectedImageIndex = rootImageIndex; // Add a main root tree node. myTreeView.Nodes.Add(rootNode); // Add a root tree node for each Customer object in the ArrayList. foreach(Customer myCustomer in customerArray) { // Add a child tree node for each Order object. int countIndex=0; TreeNode[] myTreeNodeArray = new TreeNode[myCustomer.CustomerOrders.Count]; foreach(Order myOrder in myCustomer.CustomerOrders) { // Add the Order tree node to the array. myTreeNodeArray[countIndex] = new TreeNode(myOrder.OrderID , unselectedOrderImageIndex, selectedOrderImageIndex); countIndex++; } // Add the Customer tree node. TreeNode customerNode = new TreeNode(myCustomer.CustomerName , unselectedCustomerImageIndex, selectedCustomerImageIndex, myTreeNodeArray); myTreeView.Nodes[0].Nodes.Add(customerNode); } }
void FillTreeView() { // Load the images in an ImageList. ImageList^ myImageList = gcnew ImageList; myImageList->Images->Add( Image::FromFile( "Default.gif" ) ); myImageList->Images->Add( Image::FromFile( "SelectedDefault.gif" ) ); myImageList->Images->Add( Image::FromFile( "Root.gif" ) ); myImageList->Images->Add( Image::FromFile( "UnselectedCustomer.gif" ) ); myImageList->Images->Add( Image::FromFile( "SelectedCustomer.gif" ) ); myImageList->Images->Add( Image::FromFile( "UnselectedOrder.gif" ) ); myImageList->Images->Add( Image::FromFile( "SelectedOrder.gif" ) ); // Assign the ImageList to the TreeView. myTreeView->ImageList = myImageList; // Set the TreeView control's default image and selected image indexes. myTreeView->ImageIndex = 0; myTreeView->SelectedImageIndex = 1; /* Set the index of image from the ImageList for selected and unselected tree nodes.*/ this->rootImageIndex = 2; this->selectedCustomerImageIndex = 3; this->unselectedCustomerImageIndex = 4; this->selectedOrderImageIndex = 5; this->unselectedOrderImageIndex = 6; // Create the root tree node. TreeNode^ rootNode = gcnew TreeNode( "CustomerList" ); rootNode->ImageIndex = rootImageIndex; rootNode->SelectedImageIndex = rootImageIndex; // Add a main root tree node. myTreeView->Nodes->Add( rootNode ); // Add a root tree node for each Customer object in the ArrayList. IEnumerator^ myEnum = customerArray->GetEnumerator(); while ( myEnum->MoveNext() ) { Customer^ myCustomer = safe_cast<Customer^>(myEnum->Current); // Add a child tree node for each Order object. int countIndex = 0; array<TreeNode^>^myTreeNodeArray = gcnew array<TreeNode^>(myCustomer->CustomerOrders->Count); IEnumerator^ myEnum = myCustomer->CustomerOrders->GetEnumerator(); while ( myEnum->MoveNext() ) { Order^ myOrder = safe_cast<Order^>(myEnum->Current); // Add the Order tree node to the array. myTreeNodeArray[ countIndex ] = gcnew TreeNode( myOrder->OrderID,unselectedOrderImageIndex,selectedOrderImageIndex ); countIndex++; } TreeNode^ customerNode = gcnew TreeNode( myCustomer->CustomerName,unselectedCustomerImageIndex,selectedCustomerImageIndex,myTreeNodeArray ); myTreeView->Nodes[ 0 ]->Nodes->Add( customerNode ); } }
private void FillTreeView() { // Load the images in an ImageList. ImageList myImageList = new ImageList(); myImageList.get_Images().Add(Image.FromFile("Default.gif")); myImageList.get_Images().Add(Image.FromFile("SelectedDefault.gif")); myImageList.get_Images().Add(Image.FromFile("Root.gif")); myImageList.get_Images().Add(Image.FromFile("UnselectedCustomer.gif")); myImageList.get_Images().Add(Image.FromFile("SelectedCustomer.gif")); myImageList.get_Images().Add(Image.FromFile("UnselectedOrder.gif")); myImageList.get_Images().Add(Image.FromFile("SelectedOrder.gif")); // Assign the ImageList to the TreeView. myTreeView.set_ImageList(myImageList); // Set the TreeView control's default image and selected image indexes. myTreeView.set_ImageIndex(0); myTreeView.set_SelectedImageIndex(1); /* Set the index of image from the ImageList for selected and unselected tree nodes.*/ this.rootImageIndex = 2; this.selectedCustomerImageIndex = 3; this.unselectedCustomerImageIndex = 4; this.selectedOrderImageIndex = 5; this.unselectedOrderImageIndex = 6; // Create the root tree node. TreeNode rootNode = new TreeNode("CustomerList"); rootNode.set_ImageIndex(rootImageIndex); rootNode.set_SelectedImageIndex(rootImageIndex); // Add a main root tree node. myTreeView.get_Nodes().Add(rootNode); // Add a root tree node for each Customer object in the ArrayList. for (int iCtr1 = 0; iCtr1 < customerArray.get_Count(); iCtr1++) { Customer myCustomer = (Customer)customerArray.get_Item(iCtr1); // Add a child tree node for each Order object. int countIndex = 0; TreeNode myTreeNodeArray[] = new TreeNode[myCustomer.customerOrders.get_Count()]; for (int iCtr2 = 0; iCtr2 < myCustomer.customerOrders.get_Count(); iCtr2++) { Order myOrder = (Order)myCustomer.customerOrders.get_Item(iCtr2); // Add the Order tree node to the array. myTreeNodeArray.set_Item(countIndex, new TreeNode(myOrder.orderID, unselectedOrderImageIndex , selectedOrderImageIndex)); countIndex++; } // Add the Customer tree node. TreeNode customerNode = new TreeNode(myCustomer.customerName , unselectedCustomerImageIndex, selectedCustomerImageIndex, myTreeNodeArray); myTreeView.get_Nodes().get_Item(0).get_Nodes().Add(customerNode); } } //FillTreeView

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


TreeNode コンストラクタ (String, TreeNode[])
アセンブリ: System.Windows.Forms (system.windows.forms.dll 内)


text パラメータの値はノードの Text プロパティに代入され、ツリー ノードのラベルになります。children 配列に格納されているツリー ノードは、Nodes プロパティに格納される TreeNodeCollection に追加されます。

子ツリー ノードの割り当て先とするルート ツリー ノードを作成するコード例を次に示します。ArrayList の各 Customer オブジェクトの子ツリー ノードは、ルート ツリー ノードと、Customer オブジェクトに割り当てられている各 Order オブジェクトの子ツリー ノードに追加されます。Customer オブジェクトは Tag プロパティに割り当てられ、Customer オブジェクトを表すツリー ノードは Orange テキストで表示されます。この例は、Customer オブジェクトと Order オブジェクトが定義されていて、TreeView コントロールが Form に配置されていて、Customer オブジェクトを含む customerArray という名前の ArrayList があることを前提にしています。
Public Sub AddRootNodes() ' Add a root node to assign the customer nodes to. Dim rootNode As TreeNode rootNode = New TreeNode() rootNode.Text = "CustomerList" ' Add a main root treenode. myTreeView.Nodes.Add(rootNode) ' Add a root treenode for each Customer object in the ArrayList. Dim myCustomer As Customer For Each myCustomer In customerArray ' Add a child treenode for each Order object. Dim i As Integer = 0 Dim myTreeNodeArray(4) As TreeNode Dim myOrder As Order For Each myOrder In myCustomer.CustomerOrders myTreeNodeArray(i) = New TreeNode(myOrder.OrderID) i += 1 Next myOrder Dim customerNode As New TreeNode(myCustomer.CustomerName, _ myTreeNodeArray) ' Display the customer names with and Orange font. customerNode.ForeColor = Color.Orange ' Store the Customer object in the Tag property of the TreeNode. customerNode.Tag = myCustomer myTreeView.Nodes(0).Nodes.Add(customerNode) Next myCustomer End Sub
public void AddRootNodes() { // Add a root node to assign the customer nodes to. TreeNode rootNode = new TreeNode(); rootNode.Text = "CustomerList"; // Add a main root treenode. myTreeView.Nodes.Add(rootNode); // Add a root treenode for each 'Customer' object in the ArrayList. foreach(Customer myCustomer in customerArray) { // Add a child treenode for each Order object. int i = 0; TreeNode[] myTreeNodeArray = new TreeNode[5]; foreach(Order myOrder in myCustomer.CustomerOrders) { myTreeNodeArray[i] = new TreeNode(myOrder.OrderID); i++; } TreeNode customerNode = new TreeNode(myCustomer.CustomerName , myTreeNodeArray); // Display the customer names with and Orange font. customerNode.ForeColor = Color.Orange; // Store the Customer object in the Tag property of the TreeNode. customerNode.Tag = myCustomer; myTreeView.Nodes[0].Nodes.Add(customerNode); } }
void AddRootNodes() { // Add a root node to assign the customer nodes to. TreeNode^ rootNode = gcnew TreeNode; rootNode->Text = "CustomerList"; // Add a main root treenode. myTreeView->Nodes->Add( rootNode ); // Add a root treenode for each 'Customer' object in the ArrayList. IEnumerator^ myEnum = customerArray->GetEnumerator(); while ( myEnum->MoveNext() ) { Customer^ myCustomer = safe_cast<Customer^>(myEnum->Current); // Add a child treenode for each Order object. int i = 0; array<TreeNode^>^myTreeNodeArray = gcnew array<TreeNode^>(5); IEnumerator^ myEnum = myCustomer->CustomerOrders->GetEnumerator(); while ( myEnum->MoveNext() ) { Order^ myOrder = safe_cast<Order^>(myEnum->Current); myTreeNodeArray[ i ] = gcnew TreeNode( myOrder->OrderID ); i++; } TreeNode^ customerNode = gcnew TreeNode( myCustomer->CustomerName,myTreeNodeArray ); // Display the customer names with and Orange font. customerNode->ForeColor = Color::Orange; // Store the Customer Object* in the Tag property of the TreeNode. customerNode->Tag = myCustomer; myTreeView->Nodes[ 0 ]->Nodes->Add( customerNode ); } }
public void AddRootNodes() { // Add a root node to assign the customer nodes to. TreeNode rootNode = new TreeNode(); rootNode.set_Text("CustomerList"); // Add a main root treenode. myTreeView.get_Nodes().Add(rootNode); // Add a root treenode for each 'Customer' object in the ArrayList. for (int iCtr1 = 0; iCtr1 < customerArray.get_Count(); iCtr1++) { Customer myCustomer = (Customer)customerArray.get_Item(iCtr1); // Add a child treenode for each Order object. int i = 0; TreeNode myTreeNodeArray[] = new TreeNode[5]; for (int iCtr2 = 0; iCtr2 < myCustomer.customerOrders.get_Count(); iCtr2++) { Order myOrder = (Order)myCustomer.customerOrders.get_Item(iCtr2); myTreeNodeArray.set_Item(i, new TreeNode(myOrder.orderID)); i++; } TreeNode customerNode = new TreeNode(myCustomer.customerName, myTreeNodeArray); // Display the customer names with and Orange font. customerNode.set_ForeColor(Color.get_Orange()); // Store the Customer object in the Tag property of the TreeNode. customerNode.set_Tag(myCustomer); myTreeView.get_Nodes().get_Item(0).get_Nodes().Add(customerNode); } } //AddRootNodes

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


TreeNode コンストラクタ (String, Int32, Int32)
アセンブリ: System.Windows.Forms (system.windows.forms.dll 内)

Dim text As String Dim imageIndex As Integer Dim selectedImageIndex As Integer Dim instance As New TreeNode(text, imageIndex, selectedImageIndex)

text パラメータの値はノードの Text プロパティに代入され、ツリー ノードのラベルになります。imageIndex 値と selectedImageIndex 値は、TreeView.ImageList プロパティに割り当てられた ImageList に格納されている Image のインデックス値です。imageIndex プロパティで参照されるイメージは、ツリー ノードが選択されていないときに表示されます。同様に、selectedImageIndex プロパティで参照されるイメージは、ツリー ノードが選択されているときに表示されます。

ImageList を作成して TreeView コントロールに割り当て、TreeView コントロールに TreeNode オブジェクトを設定するコード例を次に示します。ツリー ノードには、選択状態または非選択状態のときに表示される、ImageList からのイメージが割り当てられます。この例は、TreeView が配置された Form があり、それぞれが Order オブジェクトを格納している Customer オブジェクトが配置された ArrayList があることを前提にしています。また、Customer オブジェクトと Order オブジェクトが定義されている必要があります。
Private Sub FillTreeView() ' Load the images in an ImageList. Dim myImageList As New ImageList() myImageList.Images.Add(Image.FromFile("Default.gif")) myImageList.Images.Add(Image.FromFile("SelectedDefault.gif")) myImageList.Images.Add(Image.FromFile("Root.gif")) myImageList.Images.Add(Image.FromFile("UnselectedCustomer.gif")) myImageList.Images.Add(Image.FromFile("SelectedCustomer.gif")) myImageList.Images.Add(Image.FromFile("UnselectedOrder.gif")) myImageList.Images.Add(Image.FromFile("SelectedOrder.gif")) ' Assign the ImageList to the TreeView. myTreeView.ImageList = myImageList ' Set the TreeView control's default image and selected image indexes. myTreeView.ImageIndex = 0 myTreeView.SelectedImageIndex = 1 ' Set the index of image from the ' ImageList for selected and unselected tree nodes. Me.rootImageIndex = 2 Me.selectedCustomerImageIndex = 3 Me.unselectedCustomerImageIndex = 4 Me.selectedOrderImageIndex = 5 Me.unselectedOrderImageIndex = 6 ' Create the root tree node. Dim rootNode As New TreeNode("CustomerList") rootNode.ImageIndex = rootImageIndex rootNode.SelectedImageIndex = rootImageIndex ' Add a main root tree node. myTreeView.Nodes.Add(rootNode) ' Add a root tree node for each Customer object in the ArrayList. Dim myCustomer As Customer For Each myCustomer In customerArray ' Add a child tree node for each Order object. Dim countIndex As Integer = 0 Dim myTreeNodeArray(myCustomer.CustomerOrders.Count) As TreeNode Dim myOrder As Order For Each myOrder In myCustomer.CustomerOrders ' Add the Order tree node to the array. myTreeNodeArray(countIndex) = New TreeNode(myOrder.OrderID, _ unselectedOrderImageIndex, selectedOrderImageIndex) countIndex += 1 Next myOrder ' Add the Customer tree node. Dim customerNode As New TreeNode(myCustomer.CustomerName, _ unselectedCustomerImageIndex, selectedCustomerImageIndex, myTreeNodeArray) myTreeView.Nodes(0).Nodes.Add(customerNode) Next myCustomer End Sub
private void FillTreeView() { // Load the images in an ImageList. ImageList myImageList = new ImageList(); myImageList.Images.Add(Image.FromFile("Default.gif")); myImageList.Images.Add(Image.FromFile("SelectedDefault.gif")); myImageList.Images.Add(Image.FromFile("Root.gif")); myImageList.Images.Add(Image.FromFile("UnselectedCustomer.gif")); myImageList.Images.Add(Image.FromFile("SelectedCustomer.gif")); myImageList.Images.Add(Image.FromFile("UnselectedOrder.gif")); myImageList.Images.Add(Image.FromFile("SelectedOrder.gif")); // Assign the ImageList to the TreeView. myTreeView.ImageList = myImageList; // Set the TreeView control's default image and selected image indexes. myTreeView.ImageIndex = 0; myTreeView.SelectedImageIndex = 1; /* Set the index of image from the ImageList for selected and unselected tree nodes.*/ this.rootImageIndex = 2; this.selectedCustomerImageIndex = 3; this.unselectedCustomerImageIndex = 4; this.selectedOrderImageIndex = 5; this.unselectedOrderImageIndex = 6; // Create the root tree node. TreeNode rootNode = new TreeNode("CustomerList"); rootNode.ImageIndex = rootImageIndex; rootNode.SelectedImageIndex = rootImageIndex; // Add a main root tree node. myTreeView.Nodes.Add(rootNode); // Add a root tree node for each Customer object in the ArrayList. foreach(Customer myCustomer in customerArray) { // Add a child tree node for each Order object. int countIndex=0; TreeNode[] myTreeNodeArray = new TreeNode[myCustomer.CustomerOrders.Count]; foreach(Order myOrder in myCustomer.CustomerOrders) { // Add the Order tree node to the array. myTreeNodeArray[countIndex] = new TreeNode(myOrder.OrderID , unselectedOrderImageIndex, selectedOrderImageIndex); countIndex++; } // Add the Customer tree node. TreeNode customerNode = new TreeNode(myCustomer.CustomerName , unselectedCustomerImageIndex, selectedCustomerImageIndex, myTreeNodeArray); myTreeView.Nodes[0].Nodes.Add(customerNode); } }
void FillTreeView() { // Load the images in an ImageList. ImageList^ myImageList = gcnew ImageList; myImageList->Images->Add( Image::FromFile( "Default.gif" ) ); myImageList->Images->Add( Image::FromFile( "SelectedDefault.gif" ) ); myImageList->Images->Add( Image::FromFile( "Root.gif" ) ); myImageList->Images->Add( Image::FromFile( "UnselectedCustomer.gif" ) ); myImageList->Images->Add( Image::FromFile( "SelectedCustomer.gif" ) ); myImageList->Images->Add( Image::FromFile( "UnselectedOrder.gif" ) ); myImageList->Images->Add( Image::FromFile( "SelectedOrder.gif" ) ); // Assign the ImageList to the TreeView. myTreeView->ImageList = myImageList; // Set the TreeView control's default image and selected image indexes. myTreeView->ImageIndex = 0; myTreeView->SelectedImageIndex = 1; /* Set the index of image from the ImageList for selected and unselected tree nodes.*/ this->rootImageIndex = 2; this->selectedCustomerImageIndex = 3; this->unselectedCustomerImageIndex = 4; this->selectedOrderImageIndex = 5; this->unselectedOrderImageIndex = 6; // Create the root tree node. TreeNode^ rootNode = gcnew TreeNode( "CustomerList" ); rootNode->ImageIndex = rootImageIndex; rootNode->SelectedImageIndex = rootImageIndex; // Add a main root tree node. myTreeView->Nodes->Add( rootNode ); // Add a root tree node for each Customer object in the ArrayList. IEnumerator^ myEnum = customerArray->GetEnumerator(); while ( myEnum->MoveNext() ) { Customer^ myCustomer = safe_cast<Customer^>(myEnum->Current); // Add a child tree node for each Order object. int countIndex = 0; array<TreeNode^>^myTreeNodeArray = gcnew array<TreeNode^>(myCustomer->CustomerOrders->Count); IEnumerator^ myEnum = myCustomer->CustomerOrders->GetEnumerator(); while ( myEnum->MoveNext() ) { Order^ myOrder = safe_cast<Order^>(myEnum->Current); // Add the Order tree node to the array. myTreeNodeArray[ countIndex ] = gcnew TreeNode( myOrder->OrderID,unselectedOrderImageIndex,selectedOrderImageIndex ); countIndex++; } TreeNode^ customerNode = gcnew TreeNode( myCustomer->CustomerName,unselectedCustomerImageIndex,selectedCustomerImageIndex,myTreeNodeArray ); myTreeView->Nodes[ 0 ]->Nodes->Add( customerNode ); } }
private void FillTreeView() { // Load the images in an ImageList. ImageList myImageList = new ImageList(); myImageList.get_Images().Add(Image.FromFile("Default.gif")); myImageList.get_Images().Add(Image.FromFile("SelectedDefault.gif")); myImageList.get_Images().Add(Image.FromFile("Root.gif")); myImageList.get_Images().Add(Image.FromFile("UnselectedCustomer.gif")); myImageList.get_Images().Add(Image.FromFile("SelectedCustomer.gif")); myImageList.get_Images().Add(Image.FromFile("UnselectedOrder.gif")); myImageList.get_Images().Add(Image.FromFile("SelectedOrder.gif")); // Assign the ImageList to the TreeView. myTreeView.set_ImageList(myImageList); // Set the TreeView control's default image and selected image indexes. myTreeView.set_ImageIndex(0); myTreeView.set_SelectedImageIndex(1); /* Set the index of image from the ImageList for selected and unselected tree nodes.*/ this.rootImageIndex = 2; this.selectedCustomerImageIndex = 3; this.unselectedCustomerImageIndex = 4; this.selectedOrderImageIndex = 5; this.unselectedOrderImageIndex = 6; // Create the root tree node. TreeNode rootNode = new TreeNode("CustomerList"); rootNode.set_ImageIndex(rootImageIndex); rootNode.set_SelectedImageIndex(rootImageIndex); // Add a main root tree node. myTreeView.get_Nodes().Add(rootNode); // Add a root tree node for each Customer object in the ArrayList. for (int iCtr1 = 0; iCtr1 < customerArray.get_Count(); iCtr1++) { Customer myCustomer = (Customer)customerArray.get_Item(iCtr1); // Add a child tree node for each Order object. int countIndex = 0; TreeNode myTreeNodeArray[] = new TreeNode[myCustomer.customerOrders.get_Count()]; for (int iCtr2 = 0; iCtr2 < myCustomer.customerOrders.get_Count(); iCtr2++) { Order myOrder = (Order)myCustomer.customerOrders.get_Item(iCtr2); // Add the Order tree node to the array. myTreeNodeArray.set_Item(countIndex, new TreeNode(myOrder.orderID, unselectedOrderImageIndex , selectedOrderImageIndex)); countIndex++; } // Add the Customer tree node. TreeNode customerNode = new TreeNode(myCustomer.customerName , unselectedCustomerImageIndex, selectedCustomerImageIndex, myTreeNodeArray); myTreeView.get_Nodes().get_Item(0).get_Nodes().Add(customerNode); } } //FillTreeView

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


TreeNode コンストラクタ (String)
アセンブリ: System.Web (system.web.dll 内)


このコンストラクタを使用して、text パラメータで指定されたテキストで TreeNode クラスの新しいインスタンスを初期化します。
TreeNode のインスタンスの初期プロパティ値を次の表に示します。

このコンストラクタを使用して、TreeView コントロールにノードを動的に追加する方法を次のコード例に示します。
<%@ Page Language="VB" %> <script runat="server"> Sub Page_Init(ByVal sender As Object, ByVal e As EventArgs) If Not IsPostBack Then ' Add the first tree to the TreeView control. CreateTree("Section 1") ' Add the second tree to the TreeView control. CreateTree("Section 2") End If End Sub Sub CreateTree(ByVal NodeText As String) ' Create the root node using the default constructor. Dim root As TreeNode = New TreeNode root.Text = NodeText ' Use the ChildNodes property of the root TreeNode to add child nodes. ' Create the node using the constructor that takes the text parameter. root.ChildNodes.Add(New TreeNode("Topic 1")) ' Create the node using the constructor that takes the text and value parameters. root.ChildNodes.Add(New TreeNode("Topic 2", "Value 2")) ' Create the node using the constructor that takes the text, value, ' and imageUrl parameters. root.ChildNodes.Add(New TreeNode("Topic 3", "Value 3", "Image1.jpg")) ' Create the node using the constructor that takes the text, value, ' imageUrl, navigateUrl, and target parameters. root.ChildNodes.Add(New TreeNode("Topic 4", "Value 4", "Image1.jpg", "http://www.microsoft.com", "_blank")) ' Add the root node to the Nodes collection of the TreeView control. DynamicTreeView.Nodes.Add(root) End Sub </script> <html> <body> <form runat="server"> <h3>TreeNode Constructor Example</h3> <asp:TreeView id="DynamicTreeView" EnableClientScript="false" InitialExpandDepth="2" runat="server"> </asp:TreeView> </form> </body> </html>
<%@ Page Language="C#" %> <script runat="server"> void Page_Init(Object sender, EventArgs e) { if(!IsPostBack) { // Add the first tree to the TreeView control. CreateTree("Section 1"); // Add the second tree to the TreeView control. CreateTree("Section 2"); } } void CreateTree(String NodeText) { // Create the root node using the default constructor. TreeNode root = new TreeNode(); root.Text = NodeText; // Use the ChildNodes property of the root TreeNode to add child nodes. // Create the node using the constructor that takes the text parameter. root.ChildNodes.Add(new TreeNode("Topic 1")); // Create the node using the constructor that takes the text and value parameters. root.ChildNodes.Add(new TreeNode("Topic 2", "Value 2")); // Create the node using the constructor that takes the text, value, // and imageUrl parameters. root.ChildNodes.Add(new TreeNode("Topic 3", "Value 3", "Image1.jpg")); // Create the node using the constructor that takes the text, value, // imageUrl, navigateUrl, and target parameters. root.ChildNodes.Add(new TreeNode("Topic 4", "Value 4", "Image1.jpg", "http://www.microsoft.com", "_blank")); // Add the root node to the Nodes collection of the TreeView control. DynamicTreeView.Nodes.Add(root); } </script> <html> <body> <form runat="server"> <h3>TreeNode Constructor Example</h3> <asp:TreeView id="DynamicTreeView" EnableClientScript="false" InitialExpandDepth="2" runat="server"> </asp:TreeView> </form> </body> </html>

Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


TreeNode コンストラクタ (String, String, String, String, String)
アセンブリ: System.Web (system.web.dll 内)

Public Sub New ( _ text As String, _ value As String, _ imageUrl As String, _ navigateUrl As String, _ target As String _ )
Dim text As String Dim value As String Dim imageUrl As String Dim navigateUrl As String Dim target As String Dim instance As New TreeNode(text, value, imageUrl, navigateUrl, target)
public: TreeNode ( String^ text, String^ value, String^ imageUrl, String^ navigateUrl, String^ target )
public function TreeNode ( text : String, value : String, imageUrl : String, navigateUrl : String, target : String )

このコンストラクタを使用して、text パラメータで指定されたテキスト、value パラメータで指定された値、imageUrl パラメータで指定されたイメージの URL、navigateUrl パラメータで指定されたナビゲーション URL、および target パラメータで指定された表示先で、TreeNode クラスの新しいインスタンスを初期化します。
TreeNode のインスタンスの初期プロパティ値を次の表に示します。

このコンストラクタを使用して、TreeView コントロールにノードを動的に追加する方法を次のコード例に示します。
<%@ Page Language="VB" %> <script runat="server"> Sub Page_Init(ByVal sender As Object, ByVal e As EventArgs) If Not IsPostBack Then ' Add the first tree to the TreeView control. CreateTree("Section 1") ' Add the second tree to the TreeView control. CreateTree("Section 2") End If End Sub Sub CreateTree(ByVal NodeText As String) ' Create the root node using the default constructor. Dim root As TreeNode = New TreeNode root.Text = NodeText ' Use the ChildNodes property of the root TreeNode to add child nodes. ' Create the node using the constructor that takes the text parameter. root.ChildNodes.Add(New TreeNode("Topic 1")) ' Create the node using the constructor that takes the text and value parameters. root.ChildNodes.Add(New TreeNode("Topic 2", "Value 2")) ' Create the node using the constructor that takes the text, value, ' and imageUrl parameters. root.ChildNodes.Add(New TreeNode("Topic 3", "Value 3", "Image1.jpg")) ' Create the node using the constructor that takes the text, value, ' imageUrl, navigateUrl, and target parameters. root.ChildNodes.Add(New TreeNode("Topic 4", "Value 4", "Image1.jpg", "http://www.microsoft.com", "_blank")) ' Add the root node to the Nodes collection of the TreeView control. DynamicTreeView.Nodes.Add(root) End Sub </script> <html> <body> <form runat="server"> <h3>TreeNode Constructor Example</h3> <asp:TreeView id="DynamicTreeView" EnableClientScript="false" InitialExpandDepth="2" runat="server"> </asp:TreeView> </form> </body> </html>
<%@ Page Language="C#" %> <script runat="server"> void Page_Init(Object sender, EventArgs e) { if(!IsPostBack) { // Add the first tree to the TreeView control. CreateTree("Section 1"); // Add the second tree to the TreeView control. CreateTree("Section 2"); } } void CreateTree(String NodeText) { // Create the root node using the default constructor. TreeNode root = new TreeNode(); root.Text = NodeText; // Use the ChildNodes property of the root TreeNode to add child nodes. // Create the node using the constructor that takes the text parameter. root.ChildNodes.Add(new TreeNode("Topic 1")); // Create the node using the constructor that takes the text and value parameters. root.ChildNodes.Add(new TreeNode("Topic 2", "Value 2")); // Create the node using the constructor that takes the text, value, // and imageUrl parameters. root.ChildNodes.Add(new TreeNode("Topic 3", "Value 3", "Image1.jpg")); // Create the node using the constructor that takes the text, value, // imageUrl, navigateUrl, and target parameters. root.ChildNodes.Add(new TreeNode("Topic 4", "Value 4", "Image1.jpg", "http://www.microsoft.com", "_blank")); // Add the root node to the Nodes collection of the TreeView control. DynamicTreeView.Nodes.Add(root); } </script> <html> <body> <form runat="server"> <h3>TreeNode Constructor Example</h3> <asp:TreeView id="DynamicTreeView" EnableClientScript="false" InitialExpandDepth="2" runat="server"> </asp:TreeView> </form> </body> </html>

Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


TreeNode コンストラクタ (TreeView, Boolean)
アセンブリ: System.Web (system.web.dll 内)


Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


TreeNode コンストラクタ (String, String, String)
アセンブリ: System.Web (system.web.dll 内)

Dim text As String Dim value As String Dim imageUrl As String Dim instance As New TreeNode(text, value, imageUrl)

このコンストラクタを使用して、text パラメータで指定されたテキスト、value パラメータで指定された値、および imageUrl パラメータで指定されたイメージの URL で、TreeNode クラスの新しいインスタンスを初期化します。
TreeNode のインスタンスの初期プロパティ値を次の表に示します。

このコンストラクタを使用して、TreeView コントロールにノードを動的に追加する方法を次のコード例に示します。
<%@ Page Language="VB" %> <script runat="server"> Sub Page_Init(ByVal sender As Object, ByVal e As EventArgs) If Not IsPostBack Then ' Add the first tree to the TreeView control. CreateTree("Section 1") ' Add the second tree to the TreeView control. CreateTree("Section 2") End If End Sub Sub CreateTree(ByVal NodeText As String) ' Create the root node using the default constructor. Dim root As TreeNode = New TreeNode root.Text = NodeText ' Use the ChildNodes property of the root TreeNode to add child nodes. ' Create the node using the constructor that takes the text parameter. root.ChildNodes.Add(New TreeNode("Topic 1")) ' Create the node using the constructor that takes the text and value parameters. root.ChildNodes.Add(New TreeNode("Topic 2", "Value 2")) ' Create the node using the constructor that takes the text, value, ' and imageUrl parameters. root.ChildNodes.Add(New TreeNode("Topic 3", "Value 3", "Image1.jpg")) ' Create the node using the constructor that takes the text, value, ' imageUrl, navigateUrl, and target parameters. root.ChildNodes.Add(New TreeNode("Topic 4", "Value 4", "Image1.jpg", "http://www.microsoft.com", "_blank")) ' Add the root node to the Nodes collection of the TreeView control. DynamicTreeView.Nodes.Add(root) End Sub </script> <html> <body> <form runat="server"> <h3>TreeNode Constructor Example</h3> <asp:TreeView id="DynamicTreeView" EnableClientScript="false" InitialExpandDepth="2" runat="server"> </asp:TreeView> </form> </body> </html>
<%@ Page Language="C#" %> <script runat="server"> void Page_Init(Object sender, EventArgs e) { if(!IsPostBack) { // Add the first tree to the TreeView control. CreateTree("Section 1"); // Add the second tree to the TreeView control. CreateTree("Section 2"); } } void CreateTree(String NodeText) { // Create the root node using the default constructor. TreeNode root = new TreeNode(); root.Text = NodeText; // Use the ChildNodes property of the root TreeNode to add child nodes. // Create the node using the constructor that takes the text parameter. root.ChildNodes.Add(new TreeNode("Topic 1")); // Create the node using the constructor that takes the text and value parameters. root.ChildNodes.Add(new TreeNode("Topic 2", "Value 2")); // Create the node using the constructor that takes the text, value, // and imageUrl parameters. root.ChildNodes.Add(new TreeNode("Topic 3", "Value 3", "Image1.jpg")); // Create the node using the constructor that takes the text, value, // imageUrl, navigateUrl, and target parameters. root.ChildNodes.Add(new TreeNode("Topic 4", "Value 4", "Image1.jpg", "http://www.microsoft.com", "_blank")); // Add the root node to the Nodes collection of the TreeView control. DynamicTreeView.Nodes.Add(root); } </script> <html> <body> <form runat="server"> <h3>TreeNode Constructor Example</h3> <asp:TreeView id="DynamicTreeView" EnableClientScript="false" InitialExpandDepth="2" runat="server"> </asp:TreeView> </form> </body> </html>

Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


TreeNode コンストラクタ

名前 | 説明 |
---|---|
TreeNode () | テキストや値を使用せずに、TreeNode クラスの新しいインスタンスを初期化します。 |
TreeNode (String) | テキストを指定して、TreeNode クラスの新しいインスタンスを初期化します。 |
TreeNode (String, String) | テキストと値を指定して、TreeNode クラスの新しいインスタンスを初期化します。 |
TreeNode (TreeView, Boolean) | 所有者を指定して、TreeNode クラスの新しいインスタンスを初期化します。 |
TreeNode (String, String, String) | テキスト、値、およびイメージの URL を指定して、TreeNode クラスの新しいインスタンスを初期化します。 |
TreeNode (String, String, String, String, String) | テキスト、値、イメージの URL、ナビゲーション URL、および表示先を指定して、TreeNode クラスの新しいインスタンスを初期化します。 |

TreeNode プロパティ

名前 | 説明 | |
---|---|---|
![]() | Checked | ノードのチェック ボックスがオンかオフかを示す値を取得または設定します。 |
![]() | ChildNodes | 現在のノードの第 1 レベルの子ノードを格納する TreeNodeCollection コレクションを取得します。 |
![]() | DataBound | ノードがデータ バインディングによって作成されたかどうかを示す値を取得します。 |
![]() | DataItem | コントロールにバインドされたデータ項目を取得します。 |
![]() | DataPath | ノードにバインドされたデータへのパスを取得します。 |
![]() | Depth | ノードの深さを取得します。 |
![]() | Expanded | ノードが展開されているかどうかを示す値を取得または設定します。 |
![]() | ImageToolTip | ノードの隣に表示されるイメージのツールヒントのテキストを取得または設定します。 |
![]() | ImageUrl | ノードの隣に表示されるイメージへの URL を取得または設定します。 |
![]() | NavigateUrl | ノードがクリックされたときの移動先 URL を取得または設定します。 |
![]() | Parent | 現在のノードの親ノードを取得します。 |
![]() | PopulateOnDemand | ノードにデータが動的に設定されるかどうかを示す値を取得または設定します。 |
![]() | SelectAction | ノードの選択時に発生させる 1 つ以上のイベントを取得または設定します。 |
![]() | Selected | ノードが選択されているかどうかを示す値を取得または設定します。 |
![]() | ShowCheckBox | ノードの隣にチェック ボックスが表示されるどうかを示す値を取得または設定します。 |
![]() | Target | ノードに関連付けられている Web ページの内容を表示する対象のウィンドウまたはフレームを取得または設定します。 |
![]() | Text | TreeView コントロールのノードに表示されるテキストを取得または設定します。 |
![]() | ToolTip | このノードのツールヒントのテキストを取得または設定します。 |
![]() | Value | ノードの補足データ (ポストバック イベントを処理するために使用するデータなど) を格納するために使用される、非表示の値を取得または設定します。 |
![]() | ValuePath | ルート ノードから現在のノードまでのパスを取得します。 |


名前 | 説明 | |
---|---|---|
![]() | System.Web.UI.IStateManager.IsTrackingViewState | このメンバの説明については、IsTrackingViewState のトピックを参照してください。 |

TreeNode プロパティ


関連項目
TreeNode クラスSystem.Windows.Forms 名前空間
TreeView
TreeNodeCollection
その他の技術情報
方法 : Windows フォーム TreeView コントロールでノードを追加および削除するTreeNode メソッド

名前 | 説明 | |
---|---|---|
![]() | Collapse | 現在のツリー ノードを折りたたみます。 |
![]() | CollapseAll | 現在のノードとそのすべての子ノードを折りたたみます。 |
![]() | Equals | オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 ( Object から継承されます。) |
![]() | Expand | 現在のツリー ノードを展開します。 |
![]() | ExpandAll | 現在のノードとそのすべての子ノードを展開します。 |
![]() | GetHashCode | 特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 ( Object から継承されます。) |
![]() | GetType | 現在のインスタンスの Type を取得します。 ( Object から継承されます。) |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 ( Object から継承されます。) |
![]() | Select | TreeView コントロールの現在のノードを選択します。 |
![]() | ToggleExpandState | ノードを展開した状態または折りたたんだ状態に切り替えます。 |
![]() | ToString | 現在の Object を表す String を返します。 ( Object から継承されます。) |

名前 | 説明 | |
---|---|---|
![]() | Clone | 現在の TreeNode インスタンスのプロパティを使用して、TreeNode クラスの新しいインスタンスを作成します。 |
![]() | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 ( Object から継承されます。) |
![]() | LoadViewState | 以前に保存したノードのビューステートを読み込みます。 |
![]() | MemberwiseClone | 現在の Object の簡易コピーを作成します。 ( Object から継承されます。) |
![]() | RenderPostText | コントロール開発者がノードに追加表示を追加できるようにします。 |
![]() | RenderPreText | コントロール開発者がノードに追加表示を追加できるようにします。 |
![]() | SaveViewState | ノードの現在のビューステートを保存します。 |
![]() | TrackViewState | ノードに対するビューステートの変更の追跡と保存を始める開始点にマークを付けます。 |

名前 | 説明 | |
---|---|---|
![]() | System.ICloneable.Clone | TreeNode オブジェクトのコピーを作成します。 |
![]() | System.Web.UI.IStateManager.LoadViewState | 前回保存されたノードのビューステートを読み込みます。 |
![]() | System.Web.UI.IStateManager.SaveViewState | ビューステートの変更を System.Object に保存します。 |
![]() | System.Web.UI.IStateManager.TrackViewState | ビューステートへの変更を追跡するように TreeNode オブジェクトに指示します。 |

TreeNode メソッド


名前 | 説明 | |
---|---|---|
![]() | Deserialize | 指定された SerializationInfo から TreeNode の状態を読み込みます。 |
![]() | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 ( Object から継承されます。) |
![]() | MemberwiseClone | オーバーロードされます。 ( MarshalByRefObject から継承されます。) |
![]() | Serialize | 指定された SerializationInfo に、TreeNode の状態を保存します。 |

名前 | 説明 | |
---|---|---|
![]() | System.Runtime.Serialization.ISerializable.GetObjectData | TreeNode をシリアル化するために必要なデータをシリアル化情報オブジェクトに設定します。 |

関連項目
TreeNode クラスSystem.Windows.Forms 名前空間
TreeView
TreeNodeCollection
その他の技術情報
方法 : Windows フォーム TreeView コントロールでノードを追加および削除するTreeNode メンバ
TreeNode データ型で公開されるメンバを以下の表に示します。



名前 | 説明 | |
---|---|---|
![]() | Checked | ノードのチェック ボックスがオンかオフかを示す値を取得または設定します。 |
![]() | ChildNodes | 現在のノードの第 1 レベルの子ノードを格納する TreeNodeCollection コレクションを取得します。 |
![]() | DataBound | ノードがデータ バインディングによって作成されたかどうかを示す値を取得します。 |
![]() | DataItem | コントロールにバインドされたデータ項目を取得します。 |
![]() | DataPath | ノードにバインドされたデータへのパスを取得します。 |
![]() | Depth | ノードの深さを取得します。 |
![]() | Expanded | ノードが展開されているかどうかを示す値を取得または設定します。 |
![]() | ImageToolTip | ノードの隣に表示されるイメージのツールヒントのテキストを取得または設定します。 |
![]() | ImageUrl | ノードの隣に表示されるイメージへの URL を取得または設定します。 |
![]() | NavigateUrl | ノードがクリックされたときの移動先 URL を取得または設定します。 |
![]() | Parent | 現在のノードの親ノードを取得します。 |
![]() | PopulateOnDemand | ノードにデータが動的に設定されるかどうかを示す値を取得または設定します。 |
![]() | SelectAction | ノードの選択時に発生させる 1 つ以上のイベントを取得または設定します。 |
![]() | Selected | ノードが選択されているかどうかを示す値を取得または設定します。 |
![]() | ShowCheckBox | ノードの隣にチェック ボックスが表示されるどうかを示す値を取得または設定します。 |
![]() | Target | ノードに関連付けられている Web ページの内容を表示する対象のウィンドウまたはフレームを取得または設定します。 |
![]() | Text | TreeView コントロールのノードに表示されるテキストを取得または設定します。 |
![]() | ToolTip | このノードのツールヒントのテキストを取得または設定します。 |
![]() | Value | ノードの補足データ (ポストバック イベントを処理するために使用するデータなど) を格納するために使用される、非表示の値を取得または設定します。 |
![]() | ValuePath | ルート ノードから現在のノードまでのパスを取得します。 |


名前 | 説明 | |
---|---|---|
![]() | Collapse | 現在のツリー ノードを折りたたみます。 |
![]() | CollapseAll | 現在のノードとそのすべての子ノードを折りたたみます。 |
![]() | Equals | オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 (Object から継承されます。) |
![]() | Expand | 現在のツリー ノードを展開します。 |
![]() | ExpandAll | 現在のノードとそのすべての子ノードを展開します。 |
![]() | GetHashCode | 特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 (Object から継承されます。) |
![]() | GetType | 現在のインスタンスの Type を取得します。 (Object から継承されます。) |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 (Object から継承されます。) |
![]() | Select | TreeView コントロールの現在のノードを選択します。 |
![]() | ToggleExpandState | ノードを展開した状態または折りたたんだ状態に切り替えます。 |
![]() | ToString | 現在の Object を表す String を返します。 (Object から継承されます。) |

名前 | 説明 | |
---|---|---|
![]() | Clone | 現在の TreeNode インスタンスのプロパティを使用して、TreeNode クラスの新しいインスタンスを作成します。 |
![]() | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。) |
![]() | LoadViewState | 以前に保存したノードのビューステートを読み込みます。 |
![]() | MemberwiseClone | 現在の Object の簡易コピーを作成します。 (Object から継承されます。) |
![]() | RenderPostText | コントロール開発者がノードに追加表示を追加できるようにします。 |
![]() | RenderPreText | コントロール開発者がノードに追加表示を追加できるようにします。 |
![]() | SaveViewState | ノードの現在のビューステートを保存します。 |
![]() | TrackViewState | ノードに対するビューステートの変更の追跡と保存を始める開始点にマークを付けます。 |

名前 | 説明 | |
---|---|---|
![]() | System.ICloneable.Clone | TreeNode オブジェクトのコピーを作成します。 |
![]() | System.Web.UI.IStateManager.LoadViewState | 前回保存されたノードのビューステートを読み込みます。 |
![]() | System.Web.UI.IStateManager.SaveViewState | ビューステートの変更を System.Object に保存します。 |
![]() | System.Web.UI.IStateManager.TrackViewState | ビューステートへの変更を追跡するように TreeNode オブジェクトに指示します。 |
![]() | System.Web.UI.IStateManager.IsTrackingViewState | このメンバの説明については、IsTrackingViewState のトピックを参照してください。 |

TreeNode メンバ
TreeNode データ型で公開されるメンバを以下の表に示します。





名前 | 説明 | |
---|---|---|
![]() | Deserialize | 指定された SerializationInfo から TreeNode の状態を読み込みます。 |
![]() | Finalize | Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。) |
![]() | MemberwiseClone | オーバーロードされます。 ( MarshalByRefObject から継承されます。) |
![]() | Serialize | 指定された SerializationInfo に、TreeNode の状態を保存します。 |

名前 | 説明 | |
---|---|---|
![]() | System.Runtime.Serialization.ISerializable.GetObjectData | TreeNode をシリアル化するために必要なデータをシリアル化情報オブジェクトに設定します。 |

関連項目
TreeNode クラスSystem.Windows.Forms 名前空間
TreeView
TreeNodeCollection
その他の技術情報
方法 : Windows フォーム TreeView コントロールでノードを追加および削除する- TreeNodeのページへのリンク