Freigeben über


TreeNodeCollection.IndexOf-Methode

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

Namespace: System.Windows.Forms
Assembly: System.Windows.Forms (in system.windows.forms.dll)

Syntax

'Declaration
Public Function IndexOf ( _
    node As TreeNode _
) As Integer
'Usage
Dim instance As TreeNodeCollection
Dim node As TreeNode
Dim returnValue As Integer

returnValue = instance.IndexOf(node)
public int IndexOf (
    TreeNode node
)
public:
int IndexOf (
    TreeNode^ node
)
public int IndexOf (
    TreeNode node
)
public function IndexOf (
    node : TreeNode
) : int

Parameter

  • node
    Der TreeNode, der in der Auflistung gesucht werden soll.

Rückgabewert

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

Hinweise

Die Dauer für die Ausführung dieser Methode ist proportional zur Größe der Knotenauflistung, Sie sollten sie daher nicht für große Auflistungen verwenden.

Diese Methode überprüft nur Verweisgleichheit. Sie können damit nicht den Index eines ähnlichen, aber unterschiedlichen Knotens in der Auflistung abrufen.

Hinweis

Eine Folge der Anforderung von Verweisgleichheit ist, dass Sie das Verhalten dieser Methode nicht für abgeleitete TreeNode-Typen anpassen können, indem Sie die Equals-Methode der TreeNode-Klasse überschreiben.

Beispiel

Im folgenden Codebeispiel wird bestimmt, ob ein angegebener TreeNode in einer TreeNodeCollection enthalten ist, und die Auflistung aufgezählt. Für dieses Beispiel ist es erforderlich, dass ein Form mit einer TreeView vorhanden ist, die eine TreeNodeCollection mit einem TreeNode mit dem Namen myTreeNode2 enthält.

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 
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";
   }
}
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.get_Nodes();
    // Check for a node in the collection.
    if (myNodeCollection.Contains(myTreeNode2)) {
        myLabel.set_Text(myLabel.get_Text() + "Node2 is at index: "
            + myNodeCollection.IndexOf(myTreeNode2));
    }
    myLabel.set_Text(myLabel.get_Text()
        + "\n\nElements of the TreeNodeCollection:\n");
    // Create an enumerator for the collection.
    IEnumerator myEnumerator = myNodeCollection.GetEnumerator();
    while (myEnumerator.MoveNext()) {
        myLabel.set_Text(myLabel.get_Text()
            + ((TreeNode)myEnumerator.get_Current()).get_Text() + "\n");
    }
} //EnumerateTreeNodes

Plattformen

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile für Pocket PC, Windows Mobile für Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

.NET Compact Framework

Unterstützt in: 2.0, 1.0

Siehe auch

Referenz

TreeNodeCollection-Klasse
TreeNodeCollection-Member
System.Windows.Forms-Namespace