TreeNode.FromHandle(TreeView, IntPtr) Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Returns the tree node with the specified handle and assigned to the specified tree view control.
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
Parameters
- handle
-
IntPtr
nativeint
The handle of the tree node.
Returns
A TreeNode that represents the tree node assigned to the specified TreeView control with the specified handle.
Examples
The following code example gets the TreeNode that was collapsed and creates a copy of it using its Handle property. The original TreeNode is removed from the TreeNodeCollection, and the copy is added to the collection. This example requires that you have a Form with a TreeView control on it. The TreeView control should have two or more root nodes, each having at least one child node.
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
Remarks
When a node is added to the TreeView.Nodes collection, the TreeView control sends an NM_CUSTOMDRAW notification before the node handle is available. If you override the WndProc method of the TreeView to provide custom drawing in response to this notification, you should always check the return value of this method for null
before you attempt to access the node.