Spraw, aby DateTimePicker działał jako TimePicker tylko w WinForms

84

Jak ograniczyć, DateTimePickeraby wybrać tylko czas? Nie wiem, jak wyłączyć kontrolę kalendarza, która spada po naciśnięciu przycisku po prawej stronie DateTimePicker.

Blablablaster
źródło

Odpowiedzi:

142

Fragment z MSDN :

„Poniższy przykład kodu pokazuje, jak utworzyć DateTimePicker, który umożliwia użytkownikom wybranie tylko czasu”.

timePicker = new DateTimePicker();
timePicker.Format = DateTimePickerFormat.Time;
timePicker.ShowUpDown = true;
Piotr
źródło
9
Ha, rozwiązanie było proste: po prostu ustaw właściwość ShowUpDown datetimepicker na true i ustaw Format na DateTimePickerFormat.Time. Samo ustawienie Format na DateTimePickerFormat.Time nie wystarczy.
Blablablaster
41

... lub alternatywnie, jeśli chcesz wyświetlić tylko część wartości czasu, użyj opcji „Niestandardowe”:

timePicker = new DateTimePicker();
timePicker.Format = DateTimePickerFormat.Custom;
timePicker.CustomFormat = "HH:mm"; // Only use hours and minutes
timePicker.ShowUpDown = true;
Sverrir Sigmundarson
źródło
5
Jeśli używasz tej trasy i musisz określić AM lub PM, możesz dodać ttdo ciągu. Pełna lista opcji formatowania znajduje się tutaj: msdn.microsoft.com/en-us/library/…
AdamMc331
14

Chcesz ustawić właściwość „Format” na czas i dodać do niej kontrolkę przycisku pokrętła:

yourDateTimeControl.Format = DateTimePickerFormat.Time;
yourDateTimeControl.ShowUpDown = true;
SeeSharp
źródło
2

Jeśli chcesz to zrobić z właściwości, możesz to zrobić, ustawiając Formatwłaściwość DateTimePickerto DateTimePickerFormat.Timei ShowUpDownwłaściwość na true. Ponadto, customFormatmożna ustawić właściwości.

sgupta
źródło
1

Najlepszym sposobem na to jest:

datetimepicker.Format = DatetimePickerFormat.Custom;
datetimepicker.CustomFormat = "HH:mm tt";
datetimepicker.ShowUpDowm = true;
Randy Peña Jimenez
źródło
Podoba mi się, jak dodałeś „tt” do niestandardowego formatu, abyśmy mogli wybrać AM lub PM
Jamisco
-2

Dodaj poniższe zdarzenie do DateTimePicker

Private Sub DateTimePicker1_KeyPress(sender As Object, e As KeyPressEventArgs) Handles DateTimePicker1.KeyPress
    e.Handled = True
End Sub
Nagaraju Mengani
źródło
2
Ten język zdecydowanie nie wygląda jak C #. Powinieneś także wyjaśnić, co robi ten kod. Jak wyłącza zmiany daty, ale zachowuje zmiany czasu.
David Ferenczy Rogožan