Ist es möglich, mit DateTimePicker (Winforms) sowohl Datum als auch Uhrzeit auszuwählen (in der Dropdown-Liste)? Wie ändern Sie die benutzerdefinierte Anzeige des ausgewählten Werts? Ist es auch möglich, dem Benutzer die manuelle Eingabe von Datum und Uhrzeit zu ermöglichen?
143
System.Globalization.CultureInfo.CurrentCulture.DateTimeFormat.ShortDatePattern
und abrufenSystem.Globalization.CultureInfo.CurrentCulture.DateTimeFormat.ShortTimePattern
. MSDN LinkDim date As String = CultureInfo...ShortDatePattern Dim time As String = CultureInfo...ShortTimePattern dtpThing.Format = DateTimePickerFormat.Custom dtpThingEnd.CustomFormat = date + " " + time
Sie mit @WaiHaLee überein: Sie können beispielsweise die Zeitkomponente auch manuellDim date As String = CultureInfo...ShortDatePattern Dim time As String = CultureInfo...ShortTimePattern dtpThing.Format = DateTimePickerFormat.Custom dtpThingEnd.CustomFormat = date + " HH:mm"
Es ist am besten, zwei DateTimePicker für den Job zu verwenden. Einer ist die Standardeinstellung für den Datumsabschnitt und der zweite DateTimePicker für den Zeitabschnitt. Formatieren Sie den zweiten DateTimePicker wie folgt.
Die beiden sollten so aussehen, nachdem Sie sie erfasst haben
Verwenden Sie den folgenden Code, um die DateTime von diesen beiden Steuerelementen abzurufen
Verwenden Sie den folgenden Code, um diesen beiden Steuerelementen die DateTime zuzuweisen
quelle
Leider ist dies eine der vielen Fehlbezeichnungen im Framework oder bestenfalls eine Verletzung von SRP.
Um den DateTimePicker für Zeiten zu verwenden, setzen Sie die Format-Eigenschaft entweder auf Time oder Custom (verwenden Sie Custom, wenn Sie das Format der Zeit mithilfe der CustomFormat-Eigenschaft steuern möchten). Setzen Sie dann die ShowUpDown-Eigenschaft auf true.
Obwohl ein Benutzer Datum und Uhrzeit manuell zusammen einstellen kann, kann er nicht über die GUI beide festlegen.
quelle
DateTime Picker kann verwendet werden, um sowohl Datum als auch Uhrzeit auszuwählen, weshalb es als "Date and Time Picker" bezeichnet wird. Sie können die Eigenschaft " Format " auf " Benutzerdefiniert " setzen und die Kombination verschiedener Formatbezeichner festlegen, um Datum / Uhrzeit in verschiedenen Formaten in der Eigenschaft " Benutzerdefiniertes Format " darzustellen / auszuwählen . Wenn Sie jedoch das Datum ändern möchten, kann der Popup-Kalender verwendet werden, während bei der Zeitauswahl (im selben Steuerelement müssen Sie die Auf- / Ab-Tasten zum Ändern der Werte verwenden.
Ein benutzerdefiniertes Format " TTDDT, MMMM TT, JJJJ HH: MM: SS TT " liefert beispielsweise das folgende Ergebnis: " Donnerstag, 20. August 2009, 14:55:23 Uhr ".
Sie können mit verschiedenen Kombinationen für Formatspezifizierer herumspielen , die Ihren Anforderungen entsprechen, z. B. MMMM gibt " August " an, während MM " Aug " gibt.
quelle
yyyy-MM-dd HH:mm
) und dann einen Wert zurückgeben, der nur einen Teil des angezeigten Datums und der angezeigten Uhrzeit widerspiegelt . Ich würde es einen Fehler nennen, aber es ist seit Jahrzehnten da ...Gehen Sie zu
Properties
IhremdateTimePicker
in Visual Studio und setzen SieFormat
aufCustom
.CustomFormat
Geben Sie unter Ihr Format ein. In meinem Fall habe ich verwendetMMMMdd, yyyy | hh:mm
quelle
Sie können die Zeit anzeigen lassen . Ab diesem Zeitpunkt müssen Sie wahrscheinlich zwei Steuerelemente (ein Datum, ein Mal) haben, um das zu erreichen, was Sie wollen.
quelle
Ich fürchte, das DateTimePicker-Steuerelement ist nicht in der Lage, diese Dinge zu tun. Es ist eine ziemlich einfache (und frustrierende!) Kontrolle. Ihre beste Option ist möglicherweise, ein Steuerelement eines Drittanbieters zu finden, das das tut, was Sie wollen.
Für die Option, Datum und Uhrzeit manuell einzugeben, können Sie eine benutzerdefinierte Komponente mit einer TextBox / DateTimePicker-Kombination erstellen, um dies zu erreichen. Dies funktioniert möglicherweise recht gut, wenn Steuerelemente von Drittanbietern keine Option sind.
quelle