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

Dim instance As TreeNodeCollection Dim c As TreeNode Dim returnValue As Boolean returnValue = instance.Contains(c)
戻り値
指定した TreeNode オブジェクトがコレクションに格納されている場合は true。それ以外の場合は false。

Contains メソッドを使用して、TreeNode オブジェクトが TreeNodeCollection に格納されているかどうかを確認します。通常、このメソッドは、コレクションに対するノードの追加や削除などのタスクを実行する前に、TreeNode オブジェクトが存在しているかどうかを確認するために使用します。

Contains メソッドを使用して、選択したノードが Nodes コレクション内にあるかどうかを確認する方法を次の例に示します。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.Contains メソッド
アセンブリ: System.Windows.Forms (system.windows.forms.dll 内)

Dim instance As TreeNodeCollection Dim node As TreeNode Dim returnValue As Boolean returnValue = instance.Contains(node)
戻り値
TreeNode がコレクションのメンバの場合は true。それ以外の場合は false。

このメソッドを使用すると、TreeNode に対する操作を実行する前に、その TreeNode がコレクションのメンバかどうかを確認できます。このメソッドを使用して、TreeNode がコレクションに追加されたことや、依然としてコレクションのメンバであることを確認できます。
このメソッドの実行時間は、ノード コレクションのサイズに比例します。そのため、大きなコレクションではこのメソッドを使用しない場合があります。
このメソッドでは、参照の等価のみがチェックされます。これを使用して、等価だが異なるノードがコレクションに存在するかどうかを判断することはできません。
![]() |
---|
参照の等価の要件では、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 によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


- TreeNodeCollection.Contains メソッドのページへのリンク