Змусьте DateTimePicker працювати як TimePicker лише в WinForms


83

Як обмежити DateTimePickerвибір часу? Я не знаю, як вимкнути керування календарем, яке падає при натисканні кнопки праворуч DateTimePicker.

Відповіді:


139

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

'Наступний зразок коду показує, як створити DateTimePicker, що дозволяє користувачам вибирати лише час.'

timePicker = new DateTimePicker();
timePicker.Format = DateTimePickerFormat.Time;
timePicker.ShowUpDown = true;

9
Га, рішення було простим: просто встановіть властивість ShowUpDown datetimepicker на true і встановіть Format на DateTimePickerFormat.Time. Недостатньо лише встановити Format для DateTimePickerFormat.Time.
Blablablaster

41

... або, якщо ви хочете показати лише частину значення часу, використовуйте "Спеціально":

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

Ви хочете встановити властивість "Формат" як час і додати до нього елемент керування кнопкою обертання:

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

2

Якщо ви хочете зробити це з властивостей, ви можете зробити це, встановивши Formatвластивість DateTimePickerна 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 #. Крім того, вам слід пояснити, що робить цей код. Як це вимикає зміни дати, але зберігає зміни часу.
Девід Ференчі Рогожан
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.