TreeNodeCollection.Contains(TreeNode) Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
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
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.