TreeNodeCollection.IndexOf(TreeNode) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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
Gibt zurück
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 myTreeNode2
Wert 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.