Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# .NET树视图:将对象附加到树节点_C#_.net_Vb.net_Treeview_Treenode - Fatal编程技术网

C# .NET树视图:将对象附加到树节点

C# .NET树视图:将对象附加到树节点,c#,.net,vb.net,treeview,treenode,C#,.net,Vb.net,Treeview,Treenode,在.NET树视图中,可以创建节点、子节点和元素。 我所能做的就是给他们起个名字 但是如何将信息(任何对象)附加到元素?使用树节点的属性将任意对象附加到元素上 这不会以任何方式影响TreeView。它在事件处理程序中特别有用(例如),因为它允许您从所引用的TreeNode中引用一个“您的”对象 请记住,标记属于对象类型,因此您需要注意如何访问它。下面是一些示例代码,以说明(我觉得)如何最好地使用它: public Form1() { InitializeComponent(); t

在.NET树视图中,可以创建节点、子节点和元素。 我所能做的就是给他们起个名字

但是如何将信息(任何对象)附加到元素?

使用
树节点的属性将任意
对象
附加到元素上

这不会以任何方式影响
TreeView
。它在事件处理程序中特别有用(例如),因为它允许您从所引用的
TreeNode
中引用一个“您的”对象

请记住,
标记
属于
对象
类型,因此您需要注意如何访问它。下面是一些示例代码,以说明(我觉得)如何最好地使用它:

public Form1()
{
    InitializeComponent();
    theTree.AfterSelect += (sender, args) => ShowSelectedNode();
}

private void ShowSelectedNode() {
    var node = theTree.SelectedNode;

    var viewable = node.Tag as IViewable;
    if (viewable != null) {
        viewable.View(this);
    }
}

请注意,这是速度最快的。

哇。你发现我没有正确阅读文件。对不起,谢谢@用户3599802不是问题。像这样的一些.NET类有很多属性和事件,很难确定您想要使用哪一个。我已经从我的一个项目中添加了一些示例代码,其中的节点可能实际具有不同类型的节点。在这种情况下,使用
接口
确实可以清除“点击”逻辑。