it-roy-ru.com

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

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

134
Grzenio

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

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

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

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

177
itsmatt

Лучше всего использовать два DateTimePicker для задания Один будет по умолчанию для секции даты, а второй 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; 
54
Vectoria

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

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

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

45
Nescio

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

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

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

22
Danish

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

enter image description here
dateTimePickerProperties

11
Serge Voloshenko

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

1
Craig

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

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

1
Jeffrey L Whitledge