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.