Lyn - Mo 24.09.18 11:27
Titel: DateTimePicker zur Laufzeit auslesen
Hi,
ich möchte zur Laufzeit auslesen, auf welchen Wert mein DateTimePicker gesetzt wurde und ich möchte es eigentlich ohne Button tun, geht das grundsätzlich?
dateTimePicker1.Value klappt nur über einen Button, gebe ich es direkt in einem Label aus, nimmt er den Standardstartwert, nicht den frisch eingestellten (Ich möchte einen vorhandenen Startwert/ will den nicht einfach leer lassen)
Ich dachte an sowas wie eine if Prüfung, ob der Wert geändert wurde:
C#-Quelltext
1:
| if (dateTimePicker1.ValueChanged == true) |
Aber nimmt er mir nicht ab und ich verstehe die Fehlermeldung nicht so richtig:
"..changed Ereignis kann nur von links += oder -= benutzt werden" bzw. geht es wohl nicht, so wie ich es mir vorstelle.
Dritter Ansatz war, ein Textfeld, was dazu gehört auf Inhalt zu prüfen und wenn was drinnen steht, soll der DateTimePicker auf gesetzten Wert geprüft werden.
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| String.IsNullOrEmpty(vonUhrzeit.Text);
if (String.IsNullOrEmpty(vonUhrzeit.Text) != true) { string datum; datum = Convert.ToString(dateTimePicker1.Value); TestLabel.Text = datum; } |
Wird syntaktisch abgenommen, aber bringt nicht die gewünschte Wirkung.
Hilfe bitte gerne..^^
Lg Lyn
Moderiert von
Th69: C#-Tags hinzugefügt
Moderiert von
Th69: Beitragsformatierung überarbeitet.
Th69 - Mo 24.09.18 12:15
Hallo und :welcome:,
du möchtest also den jeweils aktuellen Datumswert des
DateTimePicker in einem/r
Label/
TextBox ausgeben?
Mit
DateTimePicker.ValueChanged [
https://docs.microsoft.com/de-de/dotnet/api/system.windows.forms.datetimepicker.valuechanged?redirectedfrom=MSDN&view=netframework-4.7.2] bist du schon auf der richtigen Spur gewesen, nur daß es sich dabei um ein Ereignis (event) handelt, d.h. du benötigst dazu eine passende Ereignismethode.
Wie bei einem
Button für das
Click-Ereignis eine passende Ereignismethode erzeugt werden muß, so auch für das
ValueChanged-Ereignis:
- entweder über den Designer bei den Eigenschaften des
DateTimePicker bei den Ereignissen ("gelber Blitz"-Symbol) bei
ValueChanged einen Doppelklick machen
- oder manuell
dateTimePicker1.ValueChanged += dateTimePicker1_ValueChanged; im Konstruktor der
Form-Klasse hinzufügen (
nach InitializeComponent()!)
Und dann noch den Code der Ereignismethode hinzufügen:
C#-Quelltext
1: 2: 3: 4:
| private void dateTimePicker1_ValueChanged(object sender, EventArgs e) { TestLabel.Text = dateTimePicker1.Value.ToString(); } |