【问题标题】:Checked List Box with data value property for each item?带有每个项目的数据值属性的选中列表框?
【发布时间】:2011-08-03 23:40:16
【问题描述】:

有没有人知道一个控件,例如检查列表框,其中每个项目都可以有一个值。

例如,您有一个水果列表,在列表框中显示 Apple、Orange 和 Banana,但这些项目的值是 A、O 和 B。

【问题讨论】:

    标签: c# .net vb.net winforms


    【解决方案1】:

    CheckedListBox 控件已经可以做到这一点。它的Items 集合接受从System.Objects 派生的任何对象。这些对象使用从其ToString 方法返回的值显示在列表中。

    因此,您可以创建自己的自定义类并将它们添加到CheckedListBox。确保重载ToString 方法以返回要在列表框中显示的字符串。然后,您可以将任何其他方法或属性添加到您想要的类。当您获得对选定项目的引用时,可以将其强制转换为您的 Fruit 类并调用您想要的任何方法。

    【讨论】:

      【解决方案2】:

      我认为这是 .Net 列表框、组合框等的默认功能。

      如果您的列表框有一个数据源,其中的项目具有 FruitName 和 FruitId 属性,您可以将 DisplayMember 设置为 FruitName,将 ValueMember 设置为 FruitId。

      在选择一个项目时,SelectedValue 将是 FruitId。

      【讨论】:

        【解决方案3】:

        什么平台?如果是 HTML,那么<select /> 标签可以有不同的值和显示字符串。

        如果您正在使用 Winforms,您可以将 ListBox 设置为具有任何类型的对象。所以你可以创建一个类,它有一个用于显示的字符串和某种对象作为它的值。然后重写ToString() 方法并返回显示字符串就可以了!

        【讨论】:

        • 检查标签。他正在使用 WinForms。
        • 他还有.net。这就是我添加两者的原因。而且我知道 .net 也适用于台式机,但它经常用于网络问题
        • 呃,WinForms 包含在 .NET 中。该问题已标记为 WinForms。这与网络无关。您必须阅读所有标签才能获得完整的图片。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-05-23
        • 1970-01-01
        • 1970-01-01
        • 2021-10-31
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多