Tenemos un DateTimePicker con la propiedadad ShowCheckBox a true
DateTimePicker1.ShowCheckBox = True
Estamos en el 2015, si en el load del DateTimePicker pongo lo siguiente
DateTimePicker1.Checked = False
DateTimePicker1.Value = "17/10/2014"
DateTimePicker1.ShowCheckBox = False
DateTimePicker1.Enabled = False

Pues el dia de hoy
.png)
Lo modificamos un poquito, no mucho
DateTimePicker1.Checked = True
DateTimePicker1.Value = "17/10/2014"
DateTimePicker1.ShowCheckBox = False
DateTimePicker1.Enabled = False

Otro cambio, mira el ejemplo 1
DateTimePicker1.Checked = False
DateTimePicker1.Enabled = False
DateTimePicker1.Value = "17/10/2014"
El check está marcado?? Cuando he dicho que no lo estuviera
.png)
Para que saliera desmarcado tendría que poner
DateTimePicker1.Enabled = False
DateTimePicker1.Value = "17/10/2014"
DateTimePicker1.Checked = False
Es un poco locura, estamos hablando de un propiedad que no parezca que tenga tanta implicación en su funcionalidad y si lo tienen
Lo peor de todo, esto es que también pasa con el evento OnValueChanged si la primera vez que desmarcas el check no se llama al evento, prueba a poner Checked a true antes de asignarle valor
Esto es fácil si únicamente nos fijamos en la propiedad Value, porque si lo que modificas en la propiedad Text las combinaciones se multiplican
Consejos :
1. Lo primero de todo si vas a tener un checkbox en el DateTimePicker: marca la propiedad Checked = true
2. Usa la propiedad Value: por lo menos te dirá lo que tiene el control de verdad, no el valor que se muestra en pantalla, según tengas o no activo el check
Nota: para Windows Form Framework 4.0
No hay comentarios:
Publicar un comentario