Compartir por


TreeNode.FromHandle(TreeView, IntPtr) Método

Definición

Devuelve el nodo de árbol con el identificador especificado y 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);
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 que representa el nodo de árbol asignado al control especificado TreeView con el identificador especificado.

Ejemplos

En el ejemplo de código siguiente se obtiene el TreeNode objeto que se contrae y se crea una copia de él 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 control con él TreeView . 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