TreeNodeCollection.Contains(TreeNode) TreeNodeCollection.Contains(TreeNode) TreeNodeCollection.Contains(TreeNode) TreeNodeCollection.Contains(TreeNode) Method


指定したツリー ノードがコレクションのメンバーかどうかを確認します。Determines whether the specified tree node is a member of the collection.

 bool Contains(System::Windows::Forms::TreeNode ^ node);
public bool Contains (System.Windows.Forms.TreeNode node);
member this.Contains : System.Windows.Forms.TreeNode -> bool
Public Function Contains (node As TreeNode) As Boolean


TreeNode TreeNode TreeNode TreeNode

コレクション内で検索する TreeNodeThe TreeNode to locate in the collection.


TreeNode がコレクションのメンバーの場合は true。それ以外の場合は falsetrue if the TreeNode is a member of the collection; otherwise, false.

次のコード例では、指定TreeNodeしたがTreeNodeCollection内にあるかどうかを判断し、コレクションを列挙します。The following code example determines if a specified TreeNode is within a TreeNodeCollection, and then enumerates the collection. この例では、にとFormいう名前TreeView myTreeNode2TreeNodeを含むTreeNodeCollectionがあることが必要です。This example requires that you have a Form with a TreeView that has a TreeNodeCollection that contains a TreeNode named myTreeNode2.

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.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();
      myLabel.Text += ((TreeNode)myEnumerator.Current).Text +"\n";
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 


このメソッドを使用すると、にTreeNode TreeNode対して操作を実行する前に、がコレクションのメンバーであるかどうかを判断できます。This method enables you to determine whether a TreeNode is a member of the collection before attempting to perform operations on the TreeNode. このメソッドを使用すると、 TreeNodeがに追加されているか、まだコレクションのメンバーであることを確認できます。You can use this method to confirm that a TreeNode has been added to or is still a member of the collection.

このメソッドにかかる時間は、ノードコレクションのサイズに比例しているため、大きなコレクションでは使用しないようにすることができます。The amount of time this method takes is proportional to the size of the node collection, so you may want to avoid using it with large collections.

このメソッドは、参照の等価性のみをチェックします。This method checks for reference equality only. これを使用して、同じであるが異なるノードがコレクション内に存在するかどうかを判断することはできません。You cannot use it to determine whether an equivalent but different node is in the collection.


参照等値の要件の1つは、 TreeNode TreeNodeクラスのEqualsメソッドをオーバーライドすることによって、派生型のこのメソッドの動作をカスタマイズできないことです。One implication of the reference-equality requirement is that you cannot customize the behavior of this method for derived TreeNode types by overriding the Equals method of the TreeNode class.