¿Cómo puedo trabajar con la propiedad Tag de un cuadro de lista winforms comprobado artículo?

StackOverflow https://stackoverflow.com/questions/2870993

Pregunta

¿Cómo puedo escribir un código # winforms C así?

artículos

CheckedListBox 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";
}
¿Fue útil?

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
    });
}

Comprobar: http: //social.msdn .Microsoft.com / Foros / es-es / csharpgeneral / hilo / 80f29165-acb3-421f-b5bb-856ba99da703

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top