TreeNodeCollection.IndexOf(TreeNode) Methode

Definitie

Retourneert de index van het opgegeven structuurknooppunt in de verzameling.

public:
 int IndexOf(System::Windows::Forms::TreeNode ^ node);
public int IndexOf(System.Windows.Forms.TreeNode node);
member this.IndexOf : System.Windows.Forms.TreeNode -> int
Public Function IndexOf (node As TreeNode) As Integer

Parameters

node
TreeNode

De TreeNode te vinden in de verzameling.

Retouren

De op nul gebaseerde index van het item in de structuurknooppuntverzameling; anders, -1.

Voorbeelden

In het volgende codevoorbeeld wordt bepaald of een opgegeven TreeNode binnen een TreeNodeCollectionen vervolgens de verzameling wordt opgesomd. Voor dit voorbeeld moet u een Form met een TreeView naam hebben die een TreeNodeCollectionTreeNode naam myTreeNode2bevat.

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

Opmerkingen

De hoeveelheid tijd die deze methode in beslag neemt, is evenredig met de grootte van de knooppuntverzameling, dus u kunt voorkomen dat u deze gebruikt met grote verzamelingen.

Met deze methode wordt alleen gecontroleerd op gelijkheid van verwijzingen. U kunt deze niet gebruiken om de index van een equivalent op te halen, maar een ander knooppunt in de verzameling.

Note

Een implicatie van de verwijzings-gelijkheidsvereiste is dat u het gedrag van deze methode voor afgeleide TreeNode typen niet kunt aanpassen door de Equals methode van de TreeNode klasse te overschrijven.

Van toepassing op