【发布时间】:2014-05-03 18:56:01
【问题描述】:
在 .NET 树视图中,您可以创建节点、子节点和元素。 我似乎能做的就是给他们起名字。
但是如何将信息(任何对象)附加到元素上?
【问题讨论】:
标签: c# .net vb.net treeview treenode
在 .NET 树视图中,您可以创建节点、子节点和元素。 我似乎能做的就是给他们起名字。
但是如何将信息(任何对象)附加到元素上?
【问题讨论】:
标签: c# .net vb.net treeview treenode
使用TreeNode 的Tag 属性将任意object 附加到它。
这不会以任何方式影响TreeView。它在您的事件处理程序(例如AfterSelect)中特别有用,因为它允许您从引用的TreeNode 中引用“您的”对象之一。
请记住,Tag 的类型为 Object,因此您需要小心访问它的方式。下面是一些示例代码,展示了(我觉得)它的最佳使用方式:
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);
}
}
【讨论】:
interface 确实清除了“点击”逻辑。