.NET TreeView:将对象附加到TreeNodes

时间:2014-05-03 18:56:01

标签: c# .net vb.net treeview treenode

在.NET树视图中,您可以创建节点,子节点和元素。 我似乎能够做的只是给他们起名字。

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

1 个答案:

答案 0 :(得分:3)

使用TreeNode的{​​{3}}属性向其附加任意object

这不会以任何方式影响TreeView。它在您的事件处理程序中特别有用(例如Tag),因为您可以从引用的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);
    }
}

请注意,这是AfterSelect