Autor Beitrag
Lyn
Hält's aus hier
Beiträge: 9



BeitragVerfasst: Mo 24.09.18 11:27 
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:
ausblenden 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.
ausblenden 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 user profile iconTh69: C#-Tags hinzugefügt
Moderiert von user profile iconTh69: Beitragsformatierung überarbeitet.
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4764
Erhaltene Danke: 1052

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: 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 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:
ausblenden C#-Quelltext
1:
2:
3:
4:
private void dateTimePicker1_ValueChanged(object sender, EventArgs e)
{
  TestLabel.Text = dateTimePicker1.Value.ToString();
}

Für diesen Beitrag haben gedankt: Lyn