DateTimePicker: выберите дату и время - PullRequest
134 голосов
/ 18 сентября 2008

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

Ответы [ 7 ]

177 голосов
/ 18 сентября 2008

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

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

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

Не знаю о сборщике даты и времени вместе. Похоже, пользовательский контроль.

52 голосов
/ 15 мая 2015

Лучше всего использовать два 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; 
45 голосов
/ 18 сентября 2008

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

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

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

22 голосов
/ 20 августа 2009

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

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

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

11 голосов
/ 11 января 2017

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

enter image description here
dateTimePickerProperties

1 голос
/ 18 сентября 2008

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

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

1 голос
/ 18 сентября 2008

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...