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


84

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

Ответы:


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;

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
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.