Wir haben ein paar DateTimePickers für ein benutzerdefiniertes Benutzersteuerelement in einem Formular. Sie sind sichtbar, aber nicht aktiviert (nur für Anzeigezwecke). Wenn das UserControl geladen wird, werden den DateTimePickers Werte von einem DataRow zugewiesen, das von einem DataSet stammte, das einen einzelnen Datensatz speichert, der von einer gespeicherten SQL Server-Prozedur zurückgegeben wird.DateTimePicker zeigt das heutige Datum anstelle des tatsächlichen Werts an
Es gibt ein inkonsistentes Verhalten, bei dem die Benutzer manchmal das heutige Datum anstelle des Datums sehen, das dem DateTimePicker zugewiesen wurde. Es scheint keine Rolle, ob ich das Datum ordne ich an der .Value Eigenschaft will oder die .Text Eigenschaft:
txtstart.Value = (DateTime) dr["Group_Start_Date"];
txtend.Text = dr["Term_Date"].ToString();
ich, dass die beiden Aussagen erwarte über die man die Value-Eigenschaft mit geeigneter ist . In beiden Fällen wird das aktuelle Datum dem Benutzer angezeigt, unabhängig von den Werten in der Datenbank. Im Falle von txtstart.Value zeigt Visual Studio mir, dass der Wert wie erwartet zugewiesen wurde. Also, warum zeigt es dem Benutzer dieses Datum anstelle des heutigen Datums an?
Wenn der DateTimePicker einen leeren oder Null-Wert ermittelt, wird das heutige Datum angezeigt. – Stewbob
Nun, wenn der DateTimePicker * immer * deaktiviert ist, warum nicht stattdessen ein Textfeld verwenden? – abhilash
Eigentlich habe ich diese auf Textfelder umgestellt, da ich nicht feststellen konnte, warum ein deaktiviertes Steuerelement überhaupt vorhanden war. Aber der Punkt bleibt. Wenn ich einem DateTimePicker im Code einen Wert zuweise, ist das der Wert, den ich zur Laufzeit erwarten würde. – reverendlarry