.net - mostrar - obtener la fecha de un datetimepicker en vb net
¿Cómo alterar un control.NET DateTimePicker para permitir ingresar valores nulos? (6)
Aquí hay un artículo interesante sobre CodeProject . El autor ha anulado la propiedad Value para aceptar el valor nulo como DateTime.MinValue , mientras se mantiene la validación de MinValue y MaxValue del control estándar. Eso es todo lo que hay.
¿Cuál es la forma más fácil y más robusta de alterar el control .NET DateTimePicker, para permitir a los usuarios ingresar valores null
?
Colocar una casilla de verificación adicional etiquetada como "habilitar notificación" que activa / desactiva el DateTimePicker.
La solución de Tri no llegó a ser suficiente para mí, por lo que el Sr. Grazioli y él hicieron algo al respecto: http://www.codeguru.com/csharp/csharp/cs_controls/custom/article.php/c9645
Publiqué mi solución de camino largo, que tiene algunos hallazgos en los comentarios del código sobre los problemas peculiares con este control:
No necesita modificarlo para hacer esto.
DateTimePicker
en .net en realidad tiene una casilla de verificación incorporada.
Establezca la propiedad ShowCheckBox
en true
.
Luego puede usar la propiedad Checked
para ver si el usuario ha ingresado un valor.
http://msdn.microsoft.com/en-us/library/system.windows.forms.datetimepicker.showcheckbox(VS.80).aspx
Establezca la propiedad ShowCheckBox en verdadero. Luego puede usar la propiedad Comprobada de 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;
}
}