Benutzer mit den meisten Antworten
MaskedTextBox.Modified ohne Änderung ?

Frage
-
Hallo,
ich habe ein maskedTextBox mit Mask=999999999999999 und will dabei auf das Ereignis TextChanged reagieren, so daß er bei Änderung ein Button.enabled auf true setzt..
Bei Änderung oder Eingabe springt er in das Ereignis aber maskedTextBox.Modified ist false. Normalerweise bei Änderung Modified automatisch gleich true sein, wie auch bei einem TextBox.
Warum ist dies so ?
MFG
- Bearbeitet ati.sah Montag, 18. November 2013 15:12
Antworten
-
Hallo,
TextChanged tritt einfach ein bevor die Modified-Eigenschaft sich ändert. Es gibt aber auch ein ModifiedChanged-Ereignis, das wird erst ausgelöst, wenn sich auch die Eigenschaft ändert. Soweit ich weiß, muss man die Modified-Eigenschaft auch von Hand setzen, damit diese ihren Wert ändert. Siehe in die MSDN.Um nun auf eine Änderung zu reagieren musst du also den Text vor der Änderung zwischenspeichern und dann vergleichen:
string oldInput = ""; private void maskedTextBox1_TextChanged(object sender, EventArgs e) { if(oldInput != maskedTextBox1.Text ) { oldInput = maskedTextBox1.Text; //Text wurde geändert } }
Koopakiller [kuːpakɪllɐ] (Tom Lambert)
Webseite |
Code Beispiele |
Facebook |
Twitter |
Snippets
C# ↔ VB.NET Konverter
Markiert bitte beantwortende Posts als Antwort und bewertet Beiträge. Danke.- Als Antwort markiert ati.sah Donnerstag, 21. November 2013 13:29
Alle Antworten
-
Hallo,
TextChanged tritt einfach ein bevor die Modified-Eigenschaft sich ändert. Es gibt aber auch ein ModifiedChanged-Ereignis, das wird erst ausgelöst, wenn sich auch die Eigenschaft ändert. Soweit ich weiß, muss man die Modified-Eigenschaft auch von Hand setzen, damit diese ihren Wert ändert. Siehe in die MSDN.Um nun auf eine Änderung zu reagieren musst du also den Text vor der Änderung zwischenspeichern und dann vergleichen:
string oldInput = ""; private void maskedTextBox1_TextChanged(object sender, EventArgs e) { if(oldInput != maskedTextBox1.Text ) { oldInput = maskedTextBox1.Text; //Text wurde geändert } }
Koopakiller [kuːpakɪllɐ] (Tom Lambert)
Webseite |
Code Beispiele |
Facebook |
Twitter |
Snippets
C# ↔ VB.NET Konverter
Markiert bitte beantwortende Posts als Antwort und bewertet Beiträge. Danke.- Als Antwort markiert ati.sah Donnerstag, 21. November 2013 13:29