C# .NET树视图:将对象附加到树节点
在.NET树视图中,可以创建节点、子节点和元素。 我所能做的就是给他们起个名字 但是如何将信息(任何对象)附加到元素?使用C# .NET树视图:将对象附加到树节点,c#,.net,vb.net,treeview,treenode,C#,.net,Vb.net,Treeview,Treenode,在.NET树视图中,可以创建节点、子节点和元素。 我所能做的就是给他们起个名字 但是如何将信息(任何对象)附加到元素?使用树节点的属性将任意对象附加到元素上 这不会以任何方式影响TreeView。它在事件处理程序中特别有用(例如),因为它允许您从所引用的TreeNode中引用一个“您的”对象 请记住,标记属于对象类型,因此您需要注意如何访问它。下面是一些示例代码,以说明(我觉得)如何最好地使用它: public Form1() { InitializeComponent(); t
树节点的属性将任意对象
附加到元素上
这不会以任何方式影响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类有很多属性和事件,很难确定您想要使用哪一个。我已经从我的一个项目中添加了一些示例代码,其中的节点可能实际具有不同类型的节点。在这种情况下,使用接口
确实可以清除“点击”逻辑。