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

Der TreeNode zu suchende In der Sammlung.

Gibt zurück

Der nullbasierte Index des Elements in der Strukturknotensammlung; andernfalls -1.

Beispiele

Im folgenden Codebeispiel wird ermittelt, ob sich ein angegebenes TreeNode Objekt in einer TreeNodeCollectionAuflistung befindet, und anschließend die Auflistung aufgezählt. In diesem Beispiel ist es erforderlich, dass Sie über ein FormTreeView Element verfügen, das TreeNodeCollection einen TreeNode benannten Namen myTreeNode2enthä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 Knotenauflistung, sodass Sie die Verwendung mit großen Auflistungen vermeiden möchten.

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

Note

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

Gilt für: