2017-10-23 2 views
1

Ich habe eine DateTimePicker Kontrolle namens 'dtpickStartTime', es hat ein benutzerdefiniertes Format von 'HH mm' (dtpickStartTime.CustomFormat = "HH mm"). Ich benutze es, um eine Zeit auszuwählen, die gut funktioniert (ich bekomme mal davon in Ordnung, in diesem Format). Ich kämpfe jedoch, um die Zeit einzustellen.DateTimePicker-Steuerelement mit einem benutzerdefinierten Format, wie den Zeitwert festlegen?

ich die Zeit von einer Reihe von Kontrollen setzte die Etiketten auf sie haben PanelField(i).lblStartTime.Text, etwas kompliziert, aber das alles bedeutet, ist der Wert Im setzen versuchen, '00 00' oder ähnlichem, die in diesem benutzerdefinierten Format ist

Aber es tut

JobAddingForm.dtpickStartTime.Value = CDate(PanelField(i).lblStartTime.Text) 

System.InvalidCastException zu funktionieren scheint: 'Konvertierung von String "14 20" eingeben 'Date' ist ungültig.'

Kann jemand die Zeit programmgesteuert einstellen? habe ich versucht,

JobAddingForm.dtpickStartTime.Value = New DateTime(0, 0, 0, PanelField(i).lblStartTime.Text, 0, 0) 

Aber das zu tun, dass Sie es als (0, 0, 0, 14, 20, 0) und das Etikett enthält den Wert von '14 20' haben, tun müssen, damit es als (0, 0, 0, 14 20, 0, 0)

sieht auch sicher, dass ich war nicht, was Um nach diesem Problem zu suchen, stelle ich diese Frage, ich hoffe, ich habe es gut genug erklärt und wenn mehr Informationen zur Verfügung gestellt werden müssen, kann ich das tun. Vielen Dank für das Lesen :-)

Antwort

0

Wenn Sie eine „non-standard“ String in einen Datum- und statt CDate konvertieren Sie ParseExact oder TryParseExact, beide verwenden sollten, um einen Parameter Einzelheiten enthält das Format der Eingabezeichenfolge bekommen . In Ihrem Fall sollte das funktionieren:

JobAddingForm.dtpickStartTime.Value = DateTime.ParseExact(PanelField(i).lblStartTime.Text, "HH mm", Globalization.CultureInfo.InvariantCulture) 
+0

Vielen Dank, das hat funktioniert! : D Ich kann es wegen meines schlechten Rufes nicht als nützlich bezeichnen, aber ich werde es so schnell wie möglich als Antwort markieren :) –

Verwandte Themen