Pregunta

He establecido las propiedades MaxDate y MinDate de un DateTimePicker. Sin embargo, cuando pruebo el control en tiempo de ejecución, no hay manera de distinguir las fechas no válidas de las válidas. La única diferencia es que hacer clic en una fecha no válida no hace nada.

Esto no es muy intuitivo para el usuario. Quiero poder decir de un vistazo cuáles son las fechas válidas.

¿Hay alguna forma de resaltar el intervalo de fechas válido, o más adecuadamente, "atenuar" las fechas no válidas? ¿O hay otro control que sería más apropiado? Estoy seguro de que un par de cuadros combinados funcionarían, pero realmente creo que el usuario debería recibir un control de calendario cuando se le solicite una fecha.

CONTEXTO: Esta es una aplicación de gráficos WinForms. El rango de datos válidos es fijo (los nuevos datos se agregan a través de otro proceso). El usuario debe elegir una fecha y hora para la hora de inicio del gráfico (así como una duración, que se maneja por separado).

¿Fue útil?

Solución

Tengo un problema similar. Extendí el control DateTimePicker para ejecutar un proceso de validación cada vez que cambia el valor y volver al valor anterior o al valor legal más cercano en caso de una elección ilegal.

La extensión lógica de esto es mostrar un cuadro de diálogo o etiqueta de advertencia para informar al usuario que esto ha sucedido.

También puede anular la parte de visualización del calendario del control para resaltar / resaltar las opciones no válidas; por ejemplo, ya resalta el día actual y la selección actual.

Otros consejos

No estoy seguro de que exista sin extender el control usted mismo y el dibujo del propietario, lo que sería un esfuerzo.

Si no puede encontrar la funcionalidad que busca, consideraría el uso de un control ErrorProvider y la validación de la entrada de los usuarios como una opción.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top