2010-04-30 20 views
6

¿Cómo puedo permitir que el usuario haga clic para marcar un elemento en CheckedListBox con un solo clic? El comportamiento predeterminado es el primer clic selecciona el elemento, el segundo clic le permite alternar el control. Tampoco quiero alternar la marca de selección, estoy buscando el comportamiento del control ListView donde puedo hacer clic directamente en las casillas de verificación para alternar entre ellos sin seleccionar primero sus elementos.Verificar elemento en CheckedListBox sin seleccionar

Respuesta

17

El CheckedListBox tiene una propiedad CheckOnClick.

CheckOnClick indica si la casilla de verificación debe ser activado siempre que se selecciona un elemento. El comportamiento predeterminado es cambiar la selección en el primer clic, y luego hacer que el usuario vuelva a hacer clic en aplicar la marca de verificación. Sin embargo, en algunos casos, es posible que prefiera que el elemento se marque tan pronto como se presiona.

Leer: How do I CheckOnClick in a CheckedListbox but only when over the checkbox?

+0

Pero cuando hago clic en el texto de un elemento, no en la casilla de verificación, se marca/desmarca. Este no es el comportamiento de ListView. Quiero poder marcar las casillas independientemente de seleccionar elementos. – Dmi

+0

He editado mi respuesta y he añadido un enlace: parece que alguien ya tenía el mismo requisito en stackoverflow.com –

+0

Interesante, gracias. Es extraño que no esté implementado en el control de forma predeterminada. – Dmi

0

Me acabo de encontrar con este problema, y ​​no nos pareció mucho más en Google, excepto la pregunta se refiere a Tim SO. Esto parece mucho trabajo para una necesidad tan básica, que es una señal de alerta para mí. Así que supongo que el problema radica en el diseño.

En mi caso una solución simple que mediante el uso de un ListView en lugar de un CheckedListBox (cambiando sus propiedades permite obtener realmente el comportamiento CheckedListBox lo contrario).

Cuestiones relacionadas