use*_*312 1 tags checkedlistbox winforms valuemember
如何编写这样的 C# winforms 代码?
CheckedListBox 项没有“Tag”和“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";
}
Run Code Online (Sandbox Code Playgroud)
没有 Tag 属性,但 CheckedListBox 接受任何对象(您不必只将字符串放入其中)。您可以创建自定义类来保存数据:
public class CheckListBoxItem
{
public Permission Tag;
public string Text;
public override string ToString() { return Text; }
}
Run Code Online (Sandbox Code Playgroud)
然后将此对象添加为项目
foreach (Permission p in selectedRole.PermissionItems)
{
checkedListBox1.Items.Add(new CheckListBoxItem()
{
Tag = p,
Text = p.PermissionKey
});
}
Run Code Online (Sandbox Code Playgroud)
检查:http : //social.msdn.microsoft.com/Forums/en-us/csharpgeneral/thread/80f29165-acb3-421f-b5bb-856ba99da703
归档时间: |
|
查看次数: |
3564 次 |
最近记录: |