是否有任何方法可以强类型控件Tag属性

本文关键字:强类型 控件 Tag 属性 任何 方法 是否 | 更新日期: 2023-09-27 18:00:38

我有一个TreeView控件,它显示两件事:

1) Folder
2) Item

文件夹中包含项目的位置。根文件夹包含所有子文件夹以及不属于文件夹的项目。

我有一个与表示文件夹的节点相关联的Folder类型和一个与代表项目的节点相关的Item类型。

现在,用户可以选择任何节点,并执行不同的操作。我需要能够区分存储在Tag属性中的类型。如果这不可能,我有什么选择来解决这个问题?

是否有任何方法可以强类型控件Tag属性

如果需要,您可以轻松地创建一个类型化标记:

public class MyTreeNode<T> : TreeNode
{
    public T TypedTag { get; set; }
}

是否使用"as"answers"is"运算符?例如

if(node.Tag is Folder)
{
     Folder f = node.Tag as Folder;
}
else if (node.Tag is Item)
{
     ...
}