Regex für textChanged event der TextBox
In meinem Projekt gibt Es viele TextBoxes
innen TabControl
zu denen, die ich gebe, dasselbe Ereignis, so etwas wie dieses: (arbeiten)
In meinem Formular-Konstruktor:
SetProperty(this);
private void SetProperty(Control ctr)
{
foreach (Control control in ctr.Controls)
{
if (control is TextBox)
{
control.TextChanged += new EventHandler(ValidateText);
}
else
{
if (control.HasChildren)
{
SetProperty(control); //Recursive function if the control is nested
}
}
}
}
Nun bin ich versucht zu geben TextChanged-event aller Textboxen. so etwas wie dieses:
private void ValidateText(object sender,EventArgs e)
{
String strpattern = @"^[a-zA-Z][a-zA-Z0-9\'\' ']{1,20}$"; //Pattern is Ok
Regex regex = new Regex(strpattern);
//What should I write here?
}
Ich weiß nicht, was zu schreiben ist in der oben genannten Methode, da nicht eine textbox zu prüfen. Bitte vorschlagen.
EDIT: das Muster, Das ich erwähnt, sollte nicht erlaubt werden, in die Textfelder ich.e der Text, der umgewandelt werden soll in passendem string automatisch. (sollte nicht zulassen, dass der Charaktere, die ich erwähnt in der Anleitung).
- Sind Sie besorgt, dass die verschiedenen Textfelder haben unterschiedliche Validierung prasselt?
- NÖ.. Hier bin ich versucht zu geben, dieselbe Validierung Muster zu allen, die ich nicht wissen, wie zu tun ist..
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sollten Sie zunächst nehmen Sie die Referenz des aufrufenden
TextBox
und dann Sie können mit den regulären Ausdruck für die Validierung zu nehmen, jede Entscheidung, die Sie wollen.HINZUGEFÜGT, Besser ist der Haken
Validating
Fall ist, rufen Sie dieses Ereignis, Wann immer Sie wünschen, um die Validierung für alleTextBoxes
auf einmal.Zur Durchführung der Validierung, rufen Sie diese Methode auf:
Referenzen:
not
(!
) vorRegex.Match
?CausesValidation
Eigenschaft.!
das spielt keine Rolle. Das problem jetzt bin ich konfrontiert ist, dass es erlaubt alle Zeichen, einschließlich das Muster zur Verfügung gestellt, sowie aus dem Muster zu.können Sie auch senden textbox-Steuerelement zu sagen.textbox1 zu den event-handler-Methode, und überprüfen Sie die input-text für das Steuerelement mit dem regulären Ausdruck innerhalb der event-handler.