2008-11-12 13 views

Respuesta

5

Aquí hay un interesante article on CodeProject. El autor tiene anuló la propiedad Value para aceptar el valor nulo como DateTime.MinValue, manteniendo la validación de MinValue y MaxValue del control estándar. Eso es todo lo que hay.

+1

Sí señor de Grazoli hace hacer el trabajo aunque creo que alguien debe revisarlo y tratar de deshacerse de esos feos WndProc llama – Calanus

+0

La otra cosa sobre el código es que no parecía hacer lo que se suponía que debía hacer. No sé, tal vez estaba haciendo algo mal. No tienes mucho tiempo para perder el tiempo con eso. Usar la idea DTPs ShowCheckBox parece más prometedor realmente. – IAbstract

+0

Si bien la solución permite al usuario borrar una fecha, ya no puede establecer el foco en el control o usar el teclado para volver a ingresar una fecha no nula. Un paso atrás, dos atrás. – ChadD

4

Colocando una casilla de verificación adicional etiquetada como "habilitar notificación" que activa/desactiva el DateTimePicker.

0

he publicado mi camino más largo solución, que tiene algunos hallazgos en el código comentarios acerca de los problemas peculiares con este control:

DateTime Picker null value

0

Establecer la propiedad ShowCheckBox true. continuación, puede utilizar la característica sea comprobada la siguiente manera:

private void dateTimePicker1_ValueChanged(object sender, EventArgs e) 
     { 
      DateTimePicker thisDateTimePicker = (DateTimePicker)sender; 
      if (thisDateTimePicker.Checked == false) 
      { 
       thisDateTimePicker.CustomFormat = @" "; //space 
       thisDateTimePicker.Format = DateTimePickerFormat.Custom; 
      } 
      else 
      { 
       thisDateTimePicker.Format = DateTimePickerFormat.Short; 
      } 
     } 
NullableDateTimePicker
Cuestiones relacionadas