¿Es posible usar DateTimePicker (Winforms) para elegir la fecha y la hora (en el menú desplegable)? ¿Cómo se cambia la visualización personalizada del valor seleccionado? Además, ¿es posible permitir que el usuario escriba la fecha / hora manualmente?
143
System.Globalization.CultureInfo.CurrentCulture.DateTimeFormat.ShortDatePattern
ySystem.Globalization.CultureInfo.CurrentCulture.DateTimeFormat.ShortTimePattern
obtener el formato para la cultura actual. Enlace MSDNDim date As String = CultureInfo...ShortDatePattern Dim time As String = CultureInfo...ShortTimePattern dtpThing.Format = DateTimePickerFormat.Custom dtpThingEnd.CustomFormat = date + " " + time
También puede restringir, digamos, el componente de tiempo manualmente:Dim date As String = CultureInfo...ShortDatePattern Dim time As String = CultureInfo...ShortTimePattern dtpThing.Format = DateTimePickerFormat.Custom dtpThingEnd.CustomFormat = date + " HH:mm"
Lo mejor es usar dos DateTimePickers para el Job One será el predeterminado para la sección de fecha y el segundo DateTimePicker es para la parte de tiempo. Formatee el segundo DateTimePicker de la siguiente manera.
Los dos deberían verse así después de capturarlos
Para obtener el DateTime de ambos controles, use el siguiente código
Para asignar el DateTime a ambos controles, use el siguiente código
fuente
Desafortunadamente, este es uno de los muchos nombres incorrectos en el marco, o en el mejor de los casos, una violación de SRP.
Para usar el DateTimePicker por horas, configure la propiedad Format en Time o Custom (Use Custom si desea controlar el formato de la hora usando la propiedad CustomFormat). Luego establezca la propiedad ShowUpDown en verdadero.
Aunque un usuario puede configurar la fecha y la hora juntas manualmente, no puede usar la GUI para configurar ambas.
fuente
DateTime Picker se puede utilizar para elegir la fecha y la hora, por eso se llama 'Date and Time Picker'. Puede establecer la propiedad " Formato " en " Personalizada " y establecer la combinación de diferentes especificadores de formato para representar / elegir la fecha / hora en diferentes formatos en la propiedad " Formato personalizado ". Sin embargo, si desea cambiar la Fecha, se puede usar el calendario emergente, mientras que en el caso de la selección de Hora (en el mismo control, está obligado a usar las teclas arriba / abajo para cambiar los valores.
Por ejemplo, un formato personalizado " ddddd, MMMM dd, aaaa hh: mm: ss tt " le dará un resultado como este: " jueves 20 de agosto de 2009 02:55:23 PM ".
Puede jugar con diferentes combinaciones de especificadores de formato para satisfacer sus necesidades, por ejemplo, MMMM le dará " agosto " mientras que MM le dará " agosto "
fuente
yyyy-MM-dd HH:mm
) y luego devolver un valor que refleje solo una parte de la fecha y hora mostradas ? Lo llamaría un error, pero ha estado allí durante décadas ...Vaya a la
Properties
de sudateTimePicker
en Visual Studio y configúreloFormat
enCustom
. EnCustomFormat
ingrese su formato. En mi caso uséMMMMdd, yyyy | hh:mm
fuente
Puede hacer que muestre la hora . A partir de eso, probablemente tendrá que tener dos controles (una fecha, una vez) para lograr lo que desea.
fuente
Me temo que el control DateTimePicker no tiene la capacidad de hacer esas cosas. Es un control bastante básico (¡y frustrante!). Su mejor opción puede ser encontrar un control de terceros que haga lo que desee.
Para la opción de escribir la fecha y la hora manualmente, puede crear un componente personalizado con una combinación TextBox / DateTimePicker para lograr esto, y podría funcionar razonablemente bien, si los controles de terceros no son una opción.
fuente