Lassen Sie DateTimePicker nur in WinForms als TimePicker funktionieren


83

Wie kann DateTimePickerich einschränken , dass nur die Zeit ausgewählt wird? Ich weiß nicht, wie ich die Kalendersteuerung deaktivieren soll, die beim Drücken der Taste rechts von abfällt DateTimePicker.

Antworten:


139

Ein Ausschnitt aus dem MSDN :

"Das folgende Codebeispiel zeigt, wie ein DateTimePicker erstellt wird, mit dem Benutzer nur eine Uhrzeit auswählen können."

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

9
Ha, die Lösung war einfach: Setzen Sie einfach die ShowUpDown-Eigenschaft von datetimepicker auf true und Format auf DateTimePickerFormat.Time. Es reicht nicht aus, nur Format auf DateTimePickerFormat.Time zu setzen.
— Blablablaster

41

... oder alternativ, wenn Sie nur einen Teil des Zeitwerts anzeigen möchten, verwenden Sie "Benutzerdefiniert":

timePicker = new DateTimePicker();
timePicker.Format = DateTimePickerFormat.Custom;
timePicker.CustomFormat = "HH:mm"; // Only use hours and minutes
timePicker.ShowUpDown = true;

5
Wenn Sie diese Route verwenden und AM oder PM angeben müssen, können Sie ttsie der Zeichenfolge hinzufügen . Vollständige Liste der Formatoptionen
— AdamMc331

14

Sie möchten die Eigenschaft 'Format' auf Zeit einstellen und ihr ein Steuerelement für Drehknöpfe hinzufügen:

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

2

Wenn Sie dies über Eigenschaften tun möchten, können Sie dies tun, indem Sie die FormatEigenschaft von DateTimePickerto DateTimePickerFormat.Timeund die ShowUpDownEigenschaft auf festlegen true. Auch customFormatkann in Eigenschaften festgelegt.


1

Der beste Weg, dies zu tun, ist folgender:

datetimepicker.Format = DatetimePickerFormat.Custom;
datetimepicker.CustomFormat = "HH:mm tt";
datetimepicker.ShowUpDowm = true;

Mir gefällt, wie Sie das "tt" zum benutzerdefinierten Format hinzugefügt haben, damit wir AM oder PM
— Jamisco

-2

Fügen Sie DateTimePicker das folgende Ereignis hinzu

Private Sub DateTimePicker1_KeyPress(sender As Object, e As KeyPressEventArgs) Handles DateTimePicker1.KeyPress
    e.Handled = True
End Sub

2
Diese Sprache sieht definitiv nicht wie C # aus. Außerdem sollten Sie erklären, was dieser Code bewirkt. Wie es Datumsänderungen deaktiviert, aber Zeitänderungen beibehält.
— David Ferenczy Rogožan
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.