TreeNodeCollection.Contains(TreeNode) Metod

Definition

Avgör om den angivna trädnoden är medlem i samlingen.

public:
 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

Parametrar

node
TreeNode

Att TreeNode hitta i samlingen.

Returer

true TreeNode om är medlem i samlingen, annars . false

Exempel

Följande kodexempel avgör om en angiven TreeNode är inom en TreeNodeCollection, och räknar sedan upp samlingen. Det här exemplet kräver att du har en Form med en TreeViewTreeNodeCollection som innehåller ett TreeNode med namnet 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();
   while(myEnumerator.MoveNext())
   {
      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

Kommentarer

Med den här metoden kan du avgöra om en TreeNode är medlem i samlingen innan du försöker utföra åtgärder på TreeNode. Du kan använda den här metoden för att bekräfta att en TreeNode har lagts till i eller fortfarande är medlem i samlingen.

Hur lång tid den här metoden tar är proportionell mot nodsamlingens storlek, så du kanske vill undvika att använda den med stora samlingar.

Den här metoden söker endast efter referensjämlikhet. Du kan inte använda den för att avgöra om en motsvarande men annan nod finns i samlingen.

Note

En implikation av kravet på referensjämlikhet är att du inte kan anpassa metodens beteende för härledda TreeNode typer genom att Equals åsidosätta metoden för TreeNode klassen.

Gäller för