在CheckedListBox中显示友好名称

本文关键字:显示 CheckedListBox | 更新日期: 2023-09-27 17:50:11

我正在将列表中的项添加到CheckedListBox中。我希望该框向用户显示项目的友好名称,但有一个"秘密"的实际值,当用户选择它时使用。

foreach (string s in x)
{
    checkedlistBox1.Items.Add(friendlyValue);
    //Now how do I get this to have the real value?
}

与下拉菜单,我可以设置DisplayName和ValueName的东西,并使用类似的东西:

combobox1.Items.Add(new ComboBoxItem { friendlyValue = x, realValue = y });

我似乎不能这样做与CheckedListBox。

在CheckedListBox中显示友好名称

CheckedListBox上设置DisplayMemberValueMember属性

在功能上等同于ComboBoxDisplayNameValueName性质。

public class MyClass
{
    public string FriendlyValue { get; set; }
    public string RealValue { get; set; }
}
public class YourForm : Form
{
    public YourForm()
    {
        var friendlyList
            = new List<string>();  // imagine it's populated with friendly values
        foreach (var fv in friendlyList)
        {
            checkedListBox1.Items.Add(
                new MyClass { FriendlyValue = fv, RealValue = ??? });
        }
        checkedListBox1.DisplayMember = "FriendlyValue";
        checkedListBox1.ValueMember = "RealValue";        
    }
}