Partilhar via


TreeNode.FromHandle(TreeView, IntPtr) Método

Definição

Retorna o nó de árvore com o identificador especificado e atribuído ao controle de exibição de árvore 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

O TreeView que contém o nó de árvore.

handle
IntPtr

nativeint

O identificador do nó de árvore.

Retornos

TreeNode

Um TreeNode que representa o nó de árvore atribuído ao controle TreeView especificado com o identificador especificado.

Exemplos

O exemplo de código a seguir obtém o TreeNode que foi recolhido e cria uma cópia dele usando sua Handle propriedade. O original TreeNode é removido do TreeNodeCollectione a cópia é adicionada à coleção. Este exemplo requer que você tenha um Form controle TreeView sobre ele. O TreeView controle deve ter dois ou mais nós raiz, cada um com pelo menos um nó filho.

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

Comentários

Quando um nó é adicionado à TreeView.Nodes coleção, o TreeView controle envia uma notificação NM_CUSTOMDRAW antes que o identificador do nó esteja disponível. Se você substituir o WndProc método do TreeView desenho personalizado em resposta a essa notificação, sempre deverá verificar o valor retornado desse método null antes de tentar acessar o nó.

Aplica-se a

Confira também