Medio Ambiente
- Windows XP x32 Visual Studio 2005 Standard Edition
- Honeywell Dolphin 9500 con Windows Mobile 2003 (Pocket PC 2003) con una función de escáner de código de barras y B & cámara W El uso de su SDK encuentra here.
- .NET Compact Framework 1.0 SP3 y .NET Framework 1.1
- usando VC#
Meta
tengo un control ListView con CheckBoxes = true
y View = Details
en un formulario, pero no quiero que la las casillas de verificación son "comprobables" por el usuario. Lo estoy usando para una visualización de estado de finalización de registro. Sin embargo, deseo utilizar la función del controlador de eventos para marcar la casilla mediante el código (es decir, al completar el registro: lvMeters_ItemCheck(null, null);
).¿Cómo puedo mantener un control de vista de lista C# con casillas de verificación de "Verificar" en la selección de filas?
Problema
He inhabilitado el control de la caja en sí (creo, la pantalla táctil no es real y precisa en este dispositivo). Sin embargo, al seleccionar una fila (tengo FullRowSelect = true
), el control a menudo marca la casilla de verificación y parece que no se está llamando al controlador de eventos.
Cosas que me han tratado
intenté deshacer básicamente la acción del controlador de eventos:
private void lvMeters_ItemCheck(object sender, ItemCheckEventArgs e)
{
if (sender is ListView)
{
if (e.CurrentValue == CheckState.Checked)
lvMeters.Items[e.Index].Checked = true;
else
lvMeters.Items[e.Index].Checked = false;
}
else if (e.CurrentValue == CheckState.Checked)
lvMeters.Items[e.Index].Checked = false;
else
lvMeters.Items[e.Index].Checked = true;
}
El problema es el controlador anterior no ser llamado en una vista de lista seleccionar, ni la El controlador de eventos SelectedItemChanged llama a este controlador de eventos pero aún está marcando el cuadro en select. Se llama cuando se marca la casilla.
¿Necesita información adicional?
¡Pregúntame y haré mi mejor esfuerzo!
Yo soy un principiante
tan sienten libres de decirme que estoy haciendo esto completamente mal y debe hacer toda la cosa de manera diferente.
+1 para un muy bien formateado/pensado pregunta – ctacke