Бөлісу құралы:


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коллекции, а копия добавляется в коллекцию. В этом примере требуется, чтобы у вас был Form TreeView элемент управления. Элемент TreeView управления должен иметь два или более корневых узлов, каждый из которых имеет по крайней мере один дочерний узел.

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 коллекцию элемент управления отправляет уведомление NM_CUSTOMDRAW до того, TreeView как дескриптор узла будет доступен. При переопределении WndProc метода предоставления пользовательского TreeView документа в ответ на это уведомление следует всегда проверять возвращаемое значение этого метода null , прежде чем пытаться получить доступ к узлу.

Применяется к

См. также раздел