如何使用Winforms检查列表框项目的标签属性?
-
03-10-2019 - |
题
如何编写C#Winforms代码?
CheckEdlistBox项目没有“标签”和“ ValueMember”属性。
我知道有很多选择。但是我需要这样工作。
private void LoadPermissionsToCheckedListBox()
{
Role selectedRole = (Role)comboBox1.SelectedItem;
int i = 0;
foreach (Permission p in selectedRole.PermissionItems)
{
checkedListBox1.Items.Add(p);
checkedListBox1.Items[i].Tag = p;
}
checkedListBox1.DisplayMember = "PermissionKey";
checkedListBox1.ValueMember = "PermissionID";
}
解决方案
没有标签属性,但是CheckEdlistBox接受任何对象(您不必仅将字符串放入其中)。您可以创建自定义类以保存数据:
public class CheckListBoxItem
{
public Permission Tag;
public string Text;
public override string ToString() { return Text; }
}
然后将此对象添加为项目
foreach (Permission p in selectedRole.PermissionItems)
{
checkedListBox1.Items.Add(new CheckListBoxItem()
{
Tag = p,
Text = p.PermissionKey
});
}
不隶属于 StackOverflow