TreeNodeCollection.IndexOf(TreeNode) Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
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
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.