TreeNode.FromHandle(TreeView, IntPtr) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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
- handle
-
IntPtr
nativeint
Identificador del nodo de árbol.
Devoluciones
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.