TreeNodeCollection.IndexOf(TreeNode) Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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
Döndürülenler
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ı myTreeNode2
gerektirir.
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 .