Ich habe Validierungsregeln für eine TextBox in meinem WinForm implementiert und es funktioniert gut. Allerdings überprüft es die Validierung nur, wenn ich das Feld nicht anwähle. Ich möchte es überprüfen, sobald etwas in die Box eingegeben wird und jedes Mal, wenn sich der Inhalt ändert. Außerdem möchte ich, dass die Validierung überprüft wird, sobald WinForm geöffnet wird.
Ich erinnere mich, dass ich das vor einiger Zeit gemacht habe, indem ich einige Ereignisse gesetzt habe und was nicht, aber ich kann mich nicht daran erinnern, wie.
TextChanged-Ereignis
In der Zukunft können Sie alle Ereignisse in der MSDN-Bibliothek finden, hier ist die TextBox Klassenreferenz :
Wenn Sie Datenbindung verwenden, gehen Sie zu den Eigenschaften des Textfelds. Öffnen Sie (DataBindings) oben, klicken Sie auf die Eigenschaft (Erweitert), drei Punkte erscheinen (...) Klicken Sie auf diese. Der erweiterte Datenbindungsbildschirm wird angezeigt. Für jede Eigenschaft der TextBox, die gebunden ist, in Ihrem Fall Text
, können Sie festlegen, wann die Datenbindung und damit die Validierung mit der Combobox Data Source Update mode
"einspringen" soll. Wenn Sie es auf OnPropertyChanged
setzen, wird es während der Eingabe neu ausgewertet (der Standardwert ist OnValidation
, der nur als Tab aktualisiert wird).
Wenn Sie Ihre Textbox an eine bindingSource binden, gehen Sie zu Erweitert und wählen Sie den Validierungstyp
"Auf Eigenschaft geändert". Dadurch werden Ihre Daten bei jedem Tastendruck an Ihre Entität weitergegeben.
Hier ist der Screenshot
Sie sollten auf KeyPress- oder KeyDown-Ereignisse und nicht nur auf Ihr TextChanged-Ereignis prüfen.
Hier ist ein C # -Beispiel direkt von der MSDN-Dokumentation :
%Vor%Tags und Links .net c# winforms validation textbox