다음을 통해 공유


TreeNode.FromHandle 메서드

지정된 핸들을 사용하여 지정된 트리 뷰 컨트롤에 할당된 트리 노드를 반환합니다.

네임스페이스: System.Windows.Forms
어셈블리: System.Windows.Forms(system.windows.forms.dll)

구문

‘선언
Public Shared Function FromHandle ( _
    tree As TreeView, _
    handle As IntPtr _
) As TreeNode
‘사용 방법
Dim tree As TreeView
Dim handle As IntPtr
Dim returnValue As TreeNode

returnValue = TreeNode.FromHandle(tree, handle)
public static TreeNode FromHandle (
    TreeView tree,
    IntPtr handle
)
public:
static TreeNode^ FromHandle (
    TreeView^ tree, 
    IntPtr handle
)
public static TreeNode FromHandle (
    TreeView tree, 
    IntPtr handle
)
public static function FromHandle (
    tree : TreeView, 
    handle : IntPtr
) : TreeNode

매개 변수

  • tree
    트리 노드가 들어 있는 TreeView입니다.
  • handle
    트리 노드의 핸들입니다.

반환 값

지정된 핸들을 사용하여 지정된 TreeView 컨트롤에 할당된 트리 노드를 나타내는 TreeNode입니다.

설명

노드가 TreeView.Nodes 컬렉션에 추가되면 TreeView 컨트롤은 노드 핸들이 활성화되기 전에 NM_CUSTOMDRAW 알림을 보냅니다. TreeViewWndProc 메서드를 재정의하여 이 알림에 대한 응답으로 사용자 지정 그리기 기능을 제공하는 경우 항상 노드에 액세스하려고 시도하기 전에 이 메서드의 반환 값이 Null 참조(Visual Basic의 경우 Nothing)인지 확인해야 합니다.

예제

다음 코드 예제에서는 축소된 TreeNode를 가져온 후 해당 Handle 속성을 사용하여 복사본을 만듭니다. 원본 TreeNodeTreeNodeCollection에서 제거되고 복사본이 컬렉션에 추가됩니다. 이 예제를 실행하려면 FormTreeView 컨트롤이 있어야 합니다. TreeView 컨트롤은 각각 자식 노드를 하나 이상 가지는 둘 이상의 루트 노드를 갖습니다.

Private Sub treeView1_AfterCollapse(sender As Object, _
  e As TreeViewEventArgs) Handles treeView1.AfterCollapse
   ' Create a copy of the e.Node from its Handle.
   Dim tn As TreeNode = TreeNode.FromHandle(e.Node.TreeView, e.Node.Handle)
   tn.Text += "Copy"
   ' Remove the e.Node so it can be replaced with tn.
   e.Node.Remove()
   ' Add tn to the TreeNodeCollection.
   treeView1.Nodes.Add(tn)
End Sub 
private void treeView1_AfterCollapse(object sender, TreeViewEventArgs e)
{
   // Create a copy of the e.Node from its Handle.
   TreeNode tn = TreeNode.FromHandle(e.Node.TreeView, e.Node.Handle);
   tn.Text += "Copy";
   // Remove the e.Node so it can be replaced with tn.
   e.Node.Remove();
   // Add tn to the TreeNodeCollection.
   treeView1.Nodes.Add(tn);
}
private:
   void treeView1_AfterCollapse( Object^ /*sender*/, TreeViewEventArgs^ e )
   {
      // Create a copy of the e.Node from its Handle.
      TreeNode^ tn = TreeNode::FromHandle( e->Node->TreeView, e->Node->Handle );
      tn->Text = String::Concat( tn->Text, "Copy" );

      // Remove the e.Node so it can be replaced with tn.
      e->Node->Remove();

      // Add tn to the TreeNodeCollection.
      treeView1->Nodes->Add( tn );
   }
private void treeView1_AfterCollapse(Object sender, TreeViewEventArgs e)
{
    // Create a copy of the e.Node from its Handle.
    TreeNode tn = TreeNode.FromHandle(e.get_Node().get_TreeView(), 
        e.get_Node().get_Handle());
    tn.set_Text(tn.get_Text() + "Copy");
    // Remove the e.Node so it can be replaced with tn.
    e.get_Node().Remove();
    // Add tn to the TreeNodeCollection.
    treeView1.get_Nodes().Add(tn);
} //treeView1_AfterCollapse

플랫폼

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework에서 모든 플래폼의 모든 버전을 지원하지는 않습니다. 지원되는 버전의 목록은 시스템 요구 사항을 참조하십시오.

버전 정보

.NET Framework

2.0, 1.1, 1.0에서 지원

참고 항목

참조

TreeNode 클래스
TreeNode 멤버
System.Windows.Forms 네임스페이스
TreeView
Control.Handle 속성