Сделать DateTimePicker работать как TimePicker только в WinForms

84

Как ограничить DateTimePickerвыбор только времени? Я не знаю, как отключить управление календарем, которое падает при нажатии кнопки справа от DateTimePicker.

Blablablaster
источник

Ответы:

141

Фрагмент из MSDN :

«В следующем примере кода показано, как создать DateTimePicker, который позволяет пользователям выбирать только время».

timePicker = new DateTimePicker();
timePicker.Format = DateTimePickerFormat.Time;
timePicker.ShowUpDown = true;
Питер
источник
9
Ха, решение было простым: просто установите для свойства ShowUpDown datetimepicker значение true и установите для параметра Format значение DateTimePickerFormat.Time. Одной настройки формата DateTimePickerFormat.Time недостаточно.
Blablablaster 08
41

... или, альтернативно, если вы хотите показать только часть значения времени, используйте "Custom":

timePicker = new DateTimePicker();
timePicker.Format = DateTimePickerFormat.Custom;
timePicker.CustomFormat = "HH:mm"; // Only use hours and minutes
timePicker.ShowUpDown = true;
Сверрир Зигмундарсон
источник
5
Если вы используете этот маршрут и вам нужно указать AM или PM, вы можете добавить ttего в строку. Полный список параметров формата здесь: msdn.microsoft.com/en-us/library/…
AdamMc331
14

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

yourDateTimeControl.Format = DateTimePickerFormat.Time;
yourDateTimeControl.ShowUpDown = true;
SeeSharp
источник
2

Если вы хотите сделать это из свойств, вы можете сделать это, установив для Formatсвойства DateTimePickerto DateTimePickerFormat.Timeи ShowUpDownсвойство значение true. Также customFormatможно задать в свойствах.

сгупта
источник
1

Лучше всего это сделать так:

datetimepicker.Format = DatetimePickerFormat.Custom;
datetimepicker.CustomFormat = "HH:mm tt";
datetimepicker.ShowUpDowm = true;
Рэнди Пенья Хименес
источник
Мне нравится, как вы добавили "tt" в пользовательский формат, чтобы мы могли выбирать AM или PM
Jamisco
-2

Добавить событие ниже в DateTimePicker

Private Sub DateTimePicker1_KeyPress(sender As Object, e As KeyPressEventArgs) Handles DateTimePicker1.KeyPress
    e.Handled = True
End Sub
Нагараджу Менгани
источник
2
Этот язык определенно не похож на C #. Кроме того, вы должны объяснить, что делает этот код. Как отключает изменение даты, но сохраняет изменения времени.
Давид Ференци Рогожан 08