TreeNodeCollection.IndexOf メソッド
アセンブリ: System.Web (system.web.dll 内)

Dim instance As TreeNodeCollection Dim value As TreeNode Dim returnValue As Integer returnValue = instance.IndexOf(value)
戻り値
TreeNodeCollection 内に value が見つかった場合は、最初に見つかった位置の 0 から始まるインデックス番号。それ以外の場合は -1。

IndexOf メソッドを使用して、TreeNodeCollection オブジェクト内の指定した TreeNode オブジェクトの 0 から始まるインデックスを確認します。ノードがコレクション内にない場合、このメソッドは -1 を返します。
![]() |
---|

IndexOf メソッドを使用して、ルート ノードのインデックスを確認する方法の例を次に示します。Nodes プロパティは、TreeNodeCollection オブジェクトを返します。
<%@ Page Language="VB" %> <script runat="server"> Sub Node_Changed(ByVal sender As Object, ByVal e As EventArgs) ' Determine whether the Nodes collection contains the selected node ' and display the appropriate message. If LinksTreeView.Nodes.Contains(LinksTreeView.SelectedNode) Then Message.Text = "The index of " & LinksTreeView.SelectedNode.Text & _ " is " & LinksTreeView.Nodes.IndexOf(LinksTreeView.SelectedNode).ToString() Else Message.Text = "The selected node is not a root node." End If End Sub </script> <html> <body> <form runat="server"> <h3>TreeNodeCollection Contains Example</h3> <h5>Click a root node.</h5> <asp:TreeView id="LinksTreeView" Font-Name= "Arial" ForeColor="Blue" OnSelectedNodeChanged="Node_Changed" 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> <hr> <asp:Label id="Message" runat="server"/> </form> </body> </html>
<%@ Page Language="C#" %> <script runat="server"> void Node_Changed(Object sender, EventArgs e) { // Determine whether the Nodes collection contains the selected node // and display the appropriate message. if(LinksTreeView.Nodes.Contains(LinksTreeView.SelectedNode)) { Message.Text = "The index of " + LinksTreeView.SelectedNode.Text + " is " + LinksTreeView.Nodes.IndexOf(LinksTreeView.SelectedNode).ToString(); } else { Message.Text = "The selected node is not a root node."; } } </script> <html> <body> <form runat="server"> <h3>TreeNodeCollection Contains Example</h3> <h5>Click a root node.</h5> <asp:TreeView id="LinksTreeView" Font-Name= "Arial" ForeColor="Blue" OnSelectedNodeChanged="Node_Changed" 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> <hr> <asp:Label id="Message" runat="server"/> </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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


TreeNodeCollection.IndexOf メソッド
アセンブリ: System.Windows.Forms (system.windows.forms.dll 内)

Dim instance As TreeNodeCollection Dim node As TreeNode Dim returnValue As Integer returnValue = instance.IndexOf(node)
戻り値
ツリー ノード コレクション内に項目が存在する場合は、その項目の 0 から始まるインデックス。それ以外の場合は -1。

このメソッドの実行時間は、ノード コレクションのサイズに比例します。そのため、大きなコレクションではこのメソッドを使用しない場合があります。
このメソッドでは、参照の等価のみがチェックされます。これを使用して、コレクション内にある等価だが異なるノードのインデックスを取得することはできません。
![]() |
---|
参照の等価の要件では、TreeNode クラスの Equals メソッドをオーバーライドして、TreeNode の派生型に関するこのメソッドの動作をカスタマイズすることはできません。 |

指定した TreeNode が TreeNodeCollection 内にあるかどうかを確認した後で、そのコレクションを列挙するコード例を次に示します。この例は Form に TreeView が配置され、そこに、myTreeNode2 という名前の TreeNode を含む TreeNodeCollection が割り当てられていることを前提としています。
Private Sub EnumerateTreeNodes() Dim myNodeCollection As TreeNodeCollection = myTreeView.Nodes ' Check for a node in the collection. If myNodeCollection.Contains(myTreeNode2) Then myLabel.Text += "Node2 is at index: " + myNodeCollection.IndexOf(myTreeNode2) End If myLabel.Text += ControlChars.Cr + ControlChars.Cr + _ "Elements of the TreeNodeCollection:" + ControlChars.Cr ' Create an enumerator for the collection. Dim myEnumerator As IEnumerator = myNodeCollection.GetEnumerator() While myEnumerator.MoveNext() myLabel.Text += CType(myEnumerator.Current, TreeNode).Text + ControlChars.Cr End While End Sub
private void EnumerateTreeNodes() { TreeNodeCollection myNodeCollection = myTreeView.Nodes; // Check for a node in the collection. if (myNodeCollection.Contains(myTreeNode2)) { myLabel.Text += "Node2 is at index: " + myNodeCollection.IndexOf(myTreeNode2); } myLabel.Text += "\n\nElements of the TreeNodeCollection:\n"; // Create an enumerator for the collection. IEnumerator myEnumerator = myNodeCollection.GetEnumerator(); while(myEnumerator.MoveNext()) { myLabel.Text += ((TreeNode)myEnumerator.Current).Text +"\n"; } }
void EnumerateTreeNodes() { TreeNodeCollection^ myNodeCollection = myTreeView->Nodes; // Check for a node in the collection. if ( myNodeCollection->Contains( myTreeNode2 ) ) { myLabel->Text = myLabel->Text + "Node2 is at index: " + myNodeCollection->IndexOf( myTreeNode2 ); } myLabel->Text = myLabel->Text + "\n\nElements of the TreeNodeCollection:\n"; // Create an enumerator for the collection. IEnumerator^ myEnumerator = myNodeCollection->GetEnumerator(); while ( myEnumerator->MoveNext() ) { myLabel->Text = myLabel->Text + (dynamic_cast<TreeNode^>(myEnumerator->Current))->Text + "\n"; } }
private void EnumerateTreeNodes() { TreeNodeCollection myNodeCollection = myTreeView.get_Nodes(); // Check for a node in the collection. if (myNodeCollection.Contains(myTreeNode2)) { myLabel.set_Text(myLabel.get_Text() + "Node2 is at index: " + myNodeCollection.IndexOf(myTreeNode2)); } myLabel.set_Text(myLabel.get_Text() + "\n\nElements of the TreeNodeCollection:\n"); // Create an enumerator for the collection. IEnumerator myEnumerator = myNodeCollection.GetEnumerator(); while (myEnumerator.MoveNext()) { myLabel.set_Text(myLabel.get_Text() + ((TreeNode)myEnumerator.get_Current()).get_Text() + "\n"); } } //EnumerateTreeNodes

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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


Weblioに収録されているすべての辞書からTreeNodeCollection.IndexOfを検索する場合は、下記のリンクをクリックしてください。

- TreeNodeCollection.IndexOfのページへのリンク