TreeNodeCollection.IndexOf(TreeNode) Yöntem

Tanım

Koleksiyonda belirtilen ağaç düğümünün dizinini döndürür.

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

Parametreler

node
TreeNode

TreeNode Koleksiyonda bulunacak.

Döndürülenler

Int32

Ağaç düğümü koleksiyonunda bulunan öğenin sıfır tabanlı dizini; aksi takdirde, -1.

Örnekler

Aşağıdaki kod örneği, belirtilen TreeNode bir öğesinin içinde TreeNodeCollectionolup olmadığını belirler ve koleksiyonu numaralandırır. Bu örnek, adlı öğesini Form içeren içeren TreeView ile TreeNodeCollection bir TreeNode değerinin olmasını myTreeNode2gerektirir.

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

Açıklamalar

Bu yöntemin aldığı süre, düğüm koleksiyonunun boyutuyla orantılıdır, bu nedenle büyük koleksiyonlarla kullanmaktan kaçınmak isteyebilirsiniz.

Bu yöntem yalnızca başvuru eşitliğini denetler. Bunu, koleksiyondaki eşdeğer ancak farklı bir düğümün dizinini almak için kullanamazsınız.

Not

Başvuru-eşitlik gereksiniminin bir etkisi, sınıfın yöntemini geçersiz kılarak türetilmiş TreeNode türler için bu yöntemin Equals davranışını özelleştirememenizdir TreeNode .

Şunlara uygulanır