持有对象的TreeView

时间:2012-10-20 22:59:07

标签: c# winforms treeview

有没有办法TreeView暂停Objects而不是简单的string?与ListBox的功能类似?

或者是否有一个控件明显类似于能够持有TreeView的{​​{1}}?

3 个答案:

答案 0 :(得分:3)

如果需要在TreeNode中保存对象,可以使用Tag属性。

TreeNode node;
node.Tag = myObject;

这将保留一个您可以随时检索的对象。

答案 1 :(得分:1)

您可以创建TreeNode,将其文本设置为您想要的任意内容,将对象分配给Tag属性并将其添加到TreeView

答案 2 :(得分:1)

您还可以使用属性来创建TreeNode的子类来保存您的对象。这是一个通用版本:

public class MyTreeNode<T>:TreeNode {
    private T data;

    public T Data {
        get {
            return data;
        }
        set {
            data = value;
            Text = data.ToString();
        }
    }
}

在这种情况下,我还在设置数据值时设置TreeNode的文本,但是如果要更改存储对象的状态并希望TreeNode的Text反映出来,则需要更多代码。