¿Cómo puedo trabajar con la propiedad Tag de un cuadro de lista winforms comprobado artículo?
-
03-10-2019 - |
Pregunta
¿Cómo puedo escribir un código # winforms C así?
artículosCheckedListBox no tienen 'Tag' y las propiedades 'ValueMember'.
Sé que hay muchas alternativas a esto. Pero tengo que trabajar de esta manera.
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";
}
Solución
No hay ninguna propiedad Tag, pero el CheckedListBox acepta cualquier objeto (que no tiene que poner cadenas sólo en ella). Puede crear la clase personalizada para almacenar los datos:
public class CheckListBoxItem
{
public Permission Tag;
public string Text;
public override string ToString() { return Text; }
}
y luego añadir este objeto como elemento
foreach (Permission p in selectedRole.PermissionItems)
{
checkedListBox1.Items.Add(new CheckListBoxItem()
{
Tag = p,
Text = p.PermissionKey
});
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow