次の方法で共有


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);
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

指定されたハンドルを持ち、指定された TreeNode に割り当てられているツリー ノードを表す TreeView

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

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通知を送信します。 この通知に応じてカスタム描画をTreeView提供するメソッドをオーバーライドWndProcする場合は、ノードにアクセスする前に、常にこのメソッドnullの戻り値を確認する必要があります。

適用対象

こちらもご覧ください