CheckBox标签&代码

时间:2010-02-05 18:26:05

标签: c# winforms checkbox

在TreeView中,您可以向节点添加标记。在复选框中...你不能。我发现TreeViews很有用,因为这允许我使用“显示”值的名称和附加信息的文本。例如,名称为“Google”,标记为“http://google.com”。

如何使用复选框执行此操作?我知道一个复选框接受和对象,所以我可以简单地创建一个允许字符串和标记的新类,并添加这样做吗?

或者有更简单的方法吗?

1 个答案:

答案 0 :(得分:3)

System.Windows.Forms.CheckBox(WinForms)和System.Windows.Controls.CheckBox(WPF)都有一个Tag属性,包含公共getset个访问者。这是因为在每种情况下都有一个提供这种属性的基类(在WinForms的情况下它是Control.Tag而在WPF的情况下它是FrameworkElement.Tag)。

请注意,Tag属性的输入为object。可以分配给object实例的任何内容都可以分配给Tag属性。特别是,您可以指定string的实例。当您阅读Tag属性时,必须将其强制转换为string

// checkBox is CheckBox
string s = (string)checkBox.Tag;

或者,你可以说

// checkBox is CheckBox
string s = checkBox.Tag.ToString();

最后,您可以从CheckBox继承,并提供一个Tag属性,该属性被键入为隐藏基础实现的string

class MyCheckBox : CheckBox {
    public new string Tag { get; set; }
}