TreeNodeCollection.IndexOf(TreeNode) 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
컬렉션에 있는 지정된 트리 노드의 인덱스를 반환합니다.
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
매개 변수
반환
항목이 트리 노드 컬렉션에 있으면 해당 항목의 인덱스(0부터 시작)이고, 그렇지 않으면 -1입니다.
예제
다음 코드 예제에서는 지정된 TreeNode 것이 a 내에 TreeNodeCollection있는지 확인한 다음 컬렉션을 열거합니다. 이 예제에서는 명명myTreeNode2
된 TreeView Form 항목이 포함된 with가 TreeNodeCollection TreeNode 있어야 합니다.
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
설명
이 메서드가 걸리는 시간은 노드 컬렉션의 크기에 비례하므로 큰 컬렉션에서 사용하지 않도록 할 수 있습니다.
이 메서드는 참조 같음만 확인합니다. 컬렉션에서 동일하지만 다른 노드의 인덱스 검색에는 사용할 수 없습니다.
참고
참조 같음 요구 사항의 한 가지 의미는 클래스의 메서드를 재정의하여 파생 TreeNode 형식에 대해 이 메서드의 동작을 Equals 사용자 지정할 수 없다는 것입니다 TreeNode .