Nat*_*kle 5 c# checkedlistbox winforms
我正在将列表中的项目添加到 CheckedListBox。我希望该框向用户显示项目的友好名称,但在用户选择它时有一个“秘密”实际值可供使用。
foreach (string s in x)
{
checkedlistBox1.Items.Add(friendlyValue);
//Now how do I get this to have the real value?
}
Run Code Online (Sandbox Code Playgroud)
使用下拉菜单,我可以将 DisplayName 和 ValueName 设置为某些内容并使用以下内容:
combobox1.Items.Add(new ComboBoxItem { friendlyValue = x, realValue = y });
Run Code Online (Sandbox Code Playgroud)
我似乎无法用 CheckedListBox 做到这一点。
设置DisplayMember和 的ValueMember属性CheckedListBox。
这些在功能上等同于 的DisplayName和ValueName属性ComboBox。
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";
}
}
Run Code Online (Sandbox Code Playgroud)