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

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

Ответ 1

Установите для параметра "Формат" значение "Пользовательский", а затем укажите формат:

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

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

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

Ответ 2

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

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

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

Ответ 3

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

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

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

Two Date Time Pickers

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

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

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

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

Ответ 4

DateTime Picker может использоваться для выбора даты и времени, поэтому его называют "Date and Time Picker". Вы можете установить свойство Формат "в" Пользовательский "и установить комбинацию разных спецификаторов формата для представления/выбора даты/времени в разных форматах в" Пользовательский Формат. Однако, если вы хотите изменить дату, тогда можно использовать всплывающий календарь, тогда как в случае выбора времени (в том же элементе управления вы должны использовать клавиши вверх/вниз для изменения значений.

Например, пользовательский формат " ddddd, MMMM dd, yyyy hh: mm: ss tt" даст вам такой результат: " Четверг, 20 августа 2009 г. 02:55: 23 PM".

Вы можете поиграть с различными комбинациями для спецификаторов формата в соответствии с вашими потребностями, например MMMM даст " Август", тогда как ММ август "

Ответ 5

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

введите описание изображения здесь
dateTimePickerProperties

Ответ 6

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

Ответ 7

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

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