Wie kann ich mit dem Tag-Eigenschaft eines winforms listbox Artikel überprüft?
-
03-10-2019 - |
Frage
Wie kann ich einen C # WinForms Code wie diesen schreiben?
CheckedListBox Artikel nicht haben 'Tag' und 'Valuemember' Eigenschaften.
Ich weiß, es gibt viele Alternativen dazu. Aber ich brauche es auf diese Weise zu arbeiten.
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";
}
Lösung
Es gibt keine Eigenschaft Tag, aber das CheckedListBox akzeptiert jedes Objekt (Sie müssen nur Strings es nicht gesetzt). Sie können Ihre eigene Klasse erstellen Sie Ihre Daten halten:
public class CheckListBoxItem
{
public Permission Tag;
public string Text;
public override string ToString() { return Text; }
}
und fügen Sie dann dieses Objekt als Element
foreach (Permission p in selectedRole.PermissionItems)
{
checkedListBox1.Items.Add(new CheckListBoxItem()
{
Tag = p,
Text = p.PermissionKey
});
}
Überprüfen Sie: http: //social.msdn .microsoft.com / Foren / en-us / csharpgeneral / thread / 80f29165-acb3-421f-b5bb-856ba99da703
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow