TreeNode.FromHandle(TreeView, IntPtr) Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
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
- handle
-
IntPtr
nativeint
Uchwyt węzła drzewa.
Zwraca
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
.