Pregunta

En .NET framework, es posible establecer algunos de los elementos en CheckedListBox como " uncheckable " ? No quiero permitir que el usuario vuelva a comprobar los mismos elementos y los agregue a otra lista existente.

Espero que esté claro. Gracias de antemano.

¿Fue útil?

Solución

Establecería esos elementos como " Indeterminado " en el código, y luego sobrescriba " NewValue " propiedad del evento ItemCheck cuando el usuario intenta marcarlos / desmarcarlos:

public Form1()
{
    InitializeComponent();
    checkedListBox1.Items.Add("Can't check me", CheckState.Indeterminate);
}

private void checkedListBox1_ItemCheck(object sender, ItemCheckEventArgs e)
{
    if (e.CurrentValue == CheckState.Indeterminate)
    {
        e.NewValue = CheckState.Indeterminate;
    }
}

El " No se puede comprobar " El elemento en el CheckedListBox no se puede modificar, porque cada vez que el usuario intenta marcarlo / deseleccionarlo, el controlador de eventos lo vuelve a cambiar. Ni siquiera ves la actualización de la interfaz de usuario en consecuencia.

Otros consejos

El código de Matt es bueno.

Sin embargo, ¿por qué tener un elemento en el cuadro de lista seleccionado y no permitir que se seleccione?
Me refiero a por qué tiene ese elemento en la lista.

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