DateTimePicker: выберите дату и время


можно ли использовать DateTimePicker (Winforms) для выбора даты и времени (в раскрывающемся списке)? Как изменить пользовательское отображение выбранного значения? Кроме того, можно ли разрешить пользователю вводить дату/время вручную?

7 129

7 ответов:

установите формат в пользовательский, а затем укажите формат:

dateTimePicker1.Format = DateTimePickerFormat.Custom;
dateTimePicker1.CustomFormat = "MM/dd/yyyy hh:mm:ss";  

или как вы хотите, чтобы выложить его. Затем вы можете ввести непосредственно дату / время. Если вы используете MMM, вам нужно будет использовать числовое значение для месяца для ввода, если вы сами не напишете для этого код (например, 5 результатов в мае)

Не знаю насчет выбора даты и времени вместе. Звучит как пользовательский элемент управления для меня.

лучше всего использовать два DateTimePickers для работы Один будет по умолчанию для раздела даты, а второй DateTimePicker-для части времени. Отформатируйте второй DateTimePicker следующим образом.

      timePortionDateTimePicker.Format = DateTimePickerFormat.Time;
      timePortionDateTimePicker.ShowUpDown = true;

эти двое должны выглядеть так после того, как вы их захватите

Two Date Time Pickers

чтобы получить datetime из обоих этих элементов управления используйте следующий код

DateTime myDate = datePortionDateTimePicker.Value.Date + 
                    timePortionDateTimePicker.Value.TimeOfDay; 

чтобы назначить дату и время для обоих этих элементов управления используйте следующий код

datePortionDateTimePicker.Value  = myDate.Date;  
timePortionDateTimePicker.Value  = myDate.TimeOfDay; 

к сожалению, это одно из многих неправильных имен в рамках, или в лучшем случае нарушение SRP.

чтобы использовать DateTimePicker для times, установите для свойства Format значение Time или Custom (используйте Custom, если вы хотите управлять форматом времени с помощью свойство CustomFormat). Затем установите для свойства ShowUpDown значение true.

хотя пользователь может установить дату и время вместе вручную, они не могут использовать GUI для установки как.

DateTime Picker может быть использован для выбора даты и времени, поэтому он называется "дата и время выбора". Вы можете установить "" а мм даст " Aug"

перейти к Properties вашего dateTimePickerв Visual Studio и set Format до Custom. Под CustomFormat ввести свой формат. В моем случае я использовал MMMMdd, yyyy | hh:mm

enter image description here
dateTimePickerProperties

вы можете получить его, чтобы отобразить времени. Из этого вам, вероятно, придется иметь два элемента управления (одна дата, один раз) выполнить то, что вы хотите.

Я боюсь, что управление DateTimePicker не имеет возможности делать эти вещи. Это довольно простой (и сложный!) контроль. Ваш лучший вариант может заключаться в том, чтобы найти сторонний элемент управления, который делает то, что вы хотите.

для опции ввода даты и времени вручную вы можете создать пользовательский компонент с комбинацией TextBox/DateTimePicker для этого, и он может работать достаточно хорошо, если сторонние элементы управления не являются опцией.