Comparteix a través de


TreeNode.FromHandle(TreeView, IntPtr) Método

Definición

Devuelve el nodo de árbol que tiene el identificador especificado y que está asignado al control de vista de árbol especificado.

public:
 static System::Windows::Forms::TreeNode ^ FromHandle(System::Windows::Forms::TreeView ^ tree, IntPtr handle);
public static System.Windows.Forms.TreeNode FromHandle (System.Windows.Forms.TreeView tree, IntPtr handle);
static member FromHandle : System.Windows.Forms.TreeView * nativeint -> System.Windows.Forms.TreeNode
Public Shared Function FromHandle (tree As TreeView, handle As IntPtr) As TreeNode

Parámetros

tree
TreeView

TreeView que contiene el nodo de árbol.

handle
IntPtr

nativeint

Identificador del nodo de árbol.

Devoluciones

TreeNode

TreeNode que representa el nodo de árbol que está asignado al control de TreeView especificado y que tiene el identificador especificado.

Ejemplos

En el ejemplo de código siguiente se obtiene el TreeNode objeto contraído y se crea una copia de ella mediante su Handle propiedad . El original TreeNode se quita de TreeNodeCollectiony la copia se agrega a la colección. En este ejemplo se requiere que tenga un Form con un TreeView control en él. El TreeView control debe tener dos o más nodos raíz, cada uno con al menos un nodo secundario.

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.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 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

Comentarios

Cuando se agrega un nodo a la TreeView.Nodes colección, el TreeView control envía una notificación NM_CUSTOMDRAW antes de que el identificador del nodo esté disponible. Si invalida el WndProc método de TreeView para proporcionar un dibujo personalizado en respuesta a esta notificación, siempre debe comprobar el valor devuelto de este método null para antes de intentar acceder al nodo.

Se aplica a

Consulte también