Entwickler-Ecke

WinForms - dateTimePicker feld unterlegen


Vegeto - Fr 15.03.13 14:26
Titel: dateTimePicker feld unterlegen
Hallo,

ich habe mal wieder eine Frage :)

Also ich bin gerade dabei für mich eine kleine Anwendung mit C# zuschreiben. Auf der Form befindet sich lediglich ein dateTimePicker(,textBox,Button), hier kann man ja wie gewohnt ein Datum auswählen.
Ich möchte das die Anwendung, sobald ich auf den Button klicke, überprüft ob es sich um einen Werktag handelt (dies habe ich mittels eigene Methode gelöst :)) und wenn in der textBox was drin steht(also textBox.Text != null ), dass er dann das Datum grau unterlegt. Doch das habe ich nicht geschafft, weiß einer von ecuh wie das Funktioniert?

Ich habe schon die Color Eigenschaften von dateTimePicker durchgeschaut, aber keines tat das was ich wollte!
Habe auch schon gegooglet, doch nichts dazu gefunden.

Jetzt dachte ich mir, wenn das schon nicht funktioniert, kann ich ja neben dem Datum (dateTimePicker) die eigene checkBox einfügen lassen,die dann auf true gesetzt wird/ist, so weiß ich das ich dieses Datum schon abgearbeitet habe.

Doch wenn ich das diesen Code für den Button benutze:

C#-Quelltext
1:
2:
3:
4:
5:
if (arbeitsTag() && (textBox1.Text != null))
            {
                dateTimePicker1.ShowCheckBox = true;

            }


So fügt er die checkbox ein, doch sobald ich das Datum wechsele ist die checkBox neben dem Datum da und auch noch auf true gesetzt.
Weiß jemand wie ich das hinbekommen kann, das die checkbox nur für das Datum kommt und stehen bleibt?

Lg


Th69 - Fr 15.03.13 19:35

Hallo,

du willst also, daß die CheckBox nicht angezeigt wird, wenn kein Arbeitstag ist?
Dann mußt du dies eben genau so in C#-Code ausdrücken ;-)


Ralf Jansen - Fr 15.03.13 21:30

Du meinst du änderst das Datum im DateTimePicker und möchtest dann sofort das die CheckBox passen geändert wird?
Dann verdrahte den ValueChanged Event des DateTimePickers udn setze dort die Property passend.


C#-Quelltext
1:
2:
3:
4:
5:
6:
private void dtp_ValueChanged(object sender, EventArgs e)
{
    DateTimePicker dtp = sender as DateTimePicker;
    if (dtp != null)
        dtp.ShowCheckBox = (textBox1.Text != null) && arbeitsTag();
}


Vegeto - Mo 18.03.13 10:10

Hey,
danke für die Antworten,dass mit den checkBoxen wie ich das wollte ist nicht möglich.

Der Server von entwicker-ecke, war für mir am freitag nicht mehr erreichbar.

Doch trotzdem danke :)

Lg