Udostępnij za pośrednictwem


TreeNode.FromHandle(TreeView, IntPtr) Metoda

Definicja

Zwraca węzeł drzewa z określonym uchwytem i przypisanym do określonej kontrolki widoku drzewa.

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

Parametry

tree
TreeView

Element TreeView zawierający węzeł drzewa.

handle
IntPtr

nativeint

Uchwyt węzła drzewa.

Zwraca

TreeNode

Element TreeNode reprezentujący węzeł drzewa przypisany do określonej TreeView kontrolki z określonym dojściem.

Przykłady

Poniższy przykład kodu pobiera TreeNode zwinięty obiekt i tworzy jego kopię przy użyciu jego Handle właściwości. Oryginał TreeNode jest usuwany z obiektu TreeNodeCollection, a kopia jest dodawana do kolekcji. W tym przykładzie wymagane jest posiadanie Form kontrolki z kontrolką TreeView . Kontrolka TreeView powinna mieć co najmniej dwa węzły główne, z których każdy ma co najmniej jeden węzeł podrzędny.

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

Uwagi

Po dodaniu węzła do TreeView.Nodes kolekcji kontrolka TreeView wysyła powiadomienie NM_CUSTOMDRAW przed udostępnieniem dojścia węzła. Jeśli zastąpisz metodę WndProc w celu udostępnienia niestandardowego TreeView rysunku w odpowiedzi na to powiadomienie, przed podjęciem próby uzyskania dostępu do węzła należy zawsze sprawdzić wartość zwracaną tej metody null .

Dotyczy

Zobacz też