Laden...

[gelöst] Im Form erkennen, dass sich eines der enthalten Controls geändert hat

Erstellt von Tagamoga vor 13 Jahren Letzter Beitrag vor 13 Jahren 1.110 Views
T
Tagamoga Themenstarter:in
6 Beiträge seit 2009
vor 13 Jahren
[gelöst] Im Form erkennen, dass sich eines der enthalten Controls geändert hat

Hallo allerseits.

ich hoffe ich übersehe einfach etwas. Deshalb mal hier mein "problem".

Ich habe einen Dialog in denen sind fünf Steuerelemente. (1 x CheckButton, 1 x DropDownMenue, 2 x TextFeld, 1 x DateTimePicker).

Nun soll ich die Eingaben auf Korrektheits prüfen. Auch noch alles in Butter. Man kann die "OnChange"-Nachricht jedes Setuerelementes abfangen und dann prüfen. Damit ich aber nicht fünf Mal den gleichen COde stehen habe, habe ich in jeder "onChange" Methode auf eine private "isValid()"-Methode des Dialoges verwiesen. Nur an dieser einen Stelle teste ich.

Nun wird es aber von oben gewünscht, dass eben nicht für JEDES Steuerelement eine "eigene" Methode hinzugefügt wird. Man wünschst, dass der Dialog selbst erkennt, wann eine Änderung an den Steuerelementen durch den User getätigt wurde. Anschließend soll der Dialog die Korrektheit der Steuerelemente und die Kombinationen überprüfen, ohne jedes Mal eine "OnChange"-Methode für jedes weitere Steuerelement hinzufügen zu müssen.

Also meine Frage: Wie erkennt das Parent-Control (hier der Dialog), wenn sich eins seiner Kinder (Child-Control) verändert haben. Gibt es da einen Automatismus?

Ich programmiere in C# unter VS2008.

Danke im Vorraus.
Taggi

B
196 Beiträge seit 2007
vor 13 Jahren

Hallo Taggi,
Der Weg über Events ist schon der richtige.
Was du übersehen hast ist, das du allen deiner Elemente die geiche Funktion für die Events zuweisen kannst.
Beispiel


this.checkBox1.CheckedChanged += new System.EventHandler(this.ValueChanged);
this.textBox1.TextChanged += new System.EventHandler(this.ValueChanged);
this.comboBox1.SelectedIndexChanged += new System.EventHandler(this.ValueChanged);

your fragile folded wings
are just tired from the pure blue sky
you dont have to force your smiles for anyone
its okay to smile...for yourself

T
Tagamoga Themenstarter:in
6 Beiträge seit 2009
vor 13 Jahren

Schanke Döhn!!

Der groschen ist gefallen... knuddel

Grüße, Taggi

5.299 Beiträge seit 2008
vor 13 Jahren

für validierungen ist eigentlich das validating-Event vorgesehen. eine gruppe von controls kann man etwa validiren, indem man das validating des Containercontrols verarbeitet.

das konzept geht noch bischen weiter, vlt. bringt dir ja auch Control.Validating + ErrorProvider was, o bwohls vb is

Der frühe Apfel fängt den Wurm.

Gelöschter Account
vor 13 Jahren

ich möchte nochmals bekräftigen, was ErfinderDesRades gesagt hat.

genau für diese anforderung:

Nun wird es aber von oben gewünscht, dass eben nicht für JEDES Steuerelement eine "eigene" Methode hinzugefügt wird. Man wünschst, dass der Dialog selbst erkennt, wann eine Änderung an den Steuerelementen durch den User getätigt wurde. Anschließend soll der Dialog die Korrektheit der Steuerelemente und die Kombinationen überprüfen, ohne jedes Mal eine "OnChange"-Methode für jedes weitere Steuerelement hinzufügen zu müssen.

nimmt man immer die eingebauten validationsmechnismen und eben nicht die changed-events.