Wird Windows.Forms.Control.TextChanged Event immer aufgerufen wenn Form erstellt wird?

21/07/2009 - 10:35 von Markus Schertler | Report spam
Hallo,

ich habe Controls die nur belegt werden dürfen, wenn ein anderes Control
belegt ist.
Ich setze die Enabled Eigenschaft dieser Controls über das TextChanged
Event.

Doch wie ist es beim Erstellen des Forms? Ich initialisiere dann die
Controls aus einem Objekt heraus per Code.
Ich weise den Objektwert immer dem Control zu egal ob z.B. ein Objektwert
einen Leerstring hat oder einen Text.

Doch auch wenn ein Leerstring zugewiesen wird, wird das TextChanged Event
aufgerufen?
Obwohl sich doch eigentlich das TextProperty nicht veràndert hat?

Ist das immer so, ist das ein dokumentiertes Verhalten. D.h. kann ich mich
darauf verlassen?
(Wàre mir sehr recht, denn dann reicht das TextChanged Event aus.)

Wie ist das bei den anderen Controls wie z.B. DateTimePicker (ValueChanged
Event),
CheckBox (CheckedChanged Event)?

Danke,
Markus
 

Lesen sie die antworten

#1 Peter Haus
21/07/2009 - 11:33 | Warnen spam
Hi Markus

Ich weise den Objektwert immer dem Control zu egal ob z.B. ein Objektwert
einen Leerstring hat oder einen Text.

Doch auch wenn ein Leerstring zugewiesen wird, wird das TextChanged Event
aufgerufen?
Obwohl sich doch eigentlich das TextProperty nicht veràndert hat?


Ich denke es ist darin begründet, dass es ein Unterschied macht ob
TextBox.Text = nothing oder TextBox.Text=String.Empty bzw. ""

Setze evtl. eine Boolean Variable ein, die Du am Ende von Form.Load auf
True setzt. Im TextChanged Event das Enable über dann diese Boolean
erledigst.

Gruss Peter

Ähnliche fragen