Freigeben über


TreeNodeCollection.IndexOf(TreeNode) Methode

Definition

Gibt den Index des angegebenen Strukturknotens in der Auflistung zurück.

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

Parameter

node
TreeNode

Die TreeNode, die in der Auflistung gesucht werden soll.

Gibt zurück

Int32

Der nullbasierte Index des in der Strukturknotenauflistung gefundenen Elements, andernfalls -1.

Beispiele

Im folgenden Codebeispiel wird ermittelt, ob sich eine angegebene TreeNode Datei innerhalb einer TreeNodeCollection, und dann die Auflistung aufzählt. In diesem Beispiel ist erforderlich, dass Sie über einen Form TreeView Wert verfügen, der einen TreeNode TreeNodeCollection benannten myTreeNode2Wert enthält.

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

Hinweise

Die Zeit, die diese Methode benötigt, ist proportional zur Größe der Knotensammlung, sodass Sie die Verwendung mit großen Sammlungen vermeiden möchten.

Diese Methode sucht nur nach Bezugsgleichheit. Sie können ihn nicht verwenden, um den Index eines gleichwertigen, aber anderen Knotens in der Auflistung abzurufen.

Hinweis

Eine Auswirkung der Anforderung zur Referenzgleichbehandlung besteht darin, dass Sie das Verhalten dieser Methode für abgeleitete TreeNode Typen nicht anpassen können, indem Sie die Equals Methode der TreeNode Klasse außer Kraft setzen.

Gilt für