Language

TreeNode.FromHandle(TreeView, IntPtr) メソッド

定義

指定したハンドルを持ち、指定したツリー ビュー コントロールに割り当てられたツリー ノードを返します。

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

パラメーター

tree
TreeView

ツリー ノードを含む TreeView 。

handle
IntPtr

nativeint

ツリー ノードのハンドル。

返品

指定したハンドルを持つ指定したTreeNode コントロールに割り当てられたツリー ノードを表すTreeView。

例

次のコード例では、折りたたまれた TreeNode を取得し、その Handle プロパティを使用してコピーを作成します。 元の TreeNode が TreeNodeCollectionから削除され、コピーがコレクションに追加されます。 この例では、Form コントロールを持つTreeViewが必要です。 TreeView コントロールには、それぞれ少なくとも 1 つの子ノードを持つ 2 つ以上のルート ノードが必要です。

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

注釈

ノードが TreeView.Nodes コレクションに追加されると、 TreeView コントロールは、ノード ハンドルが使用可能になる前にNM_CUSTOMDRAW通知を送信します。 WndProcのTreeViewメソッドをオーバーライドして、この通知に応じてカスタム描画を提供する場合は、ノードへのアクセスを試みる前に、常にこのメソッドの戻り値のnullを確認する必要があります。

適用対象

こちらもご覧ください