Eingabekontrolle C#

Hallo. Ich habe es geschafft, dass das Programm einen String auf ein „@“ -Zeichen untersucht. Funktioniert einwandfrei:
[CSHARP]
string pcheck1(string pem1)
{
if (pem1 != „“)
{
if (pem1.IndexOf("@") == -1)
{
this.textBox25.BackColor = System.Drawing.Color.Red;
MessageBox.Show("Eine E-Mail oder mehrere E-Mails sind ungültig. Bitte geben Sie eine Gültige E-Mail ein ", „ungültige E-Mail“, MessageBoxButtons.OK, MessageBoxIcon.Warning);
return pem1;

            }
            else
            {
                this.textBox25.BackColor = System.Drawing.Color.White;
                return pem1;
            }

        }
        else
        {
            this.textBox25.BackColor = System.Drawing.Color.White;
            return pem1;
        }
    }

[/CSHARP]
Ich habe nun eine komplett andere TextBox (in der man nicht seine E-Mails eingibt sondern eine Telefonnummer.) Auch dies habe ich probiert,geht aber nicht. Wie kann ich es so machen, dass wenn man einen Buchstaben oder sonstiges Zeichen in die textBox eingibt, eine MessageBox erschein, in der steht, dass diese Telefonnummer ungültig ist (z.B. wenn man was anderes als eine Zahl eingibt)…
Ich hoffe ihr habt mein Problem verstenden, würde mich um hilfreiche Antworten freuen :slight_smile:
LG CinnayRiam

Bitte mach es anders. Nix ist nerviger als ständige Popups. Verwendest du Forms oder WPF?

Generell gibt’s Validation-Events an die du dich hängen kannst.

Puncto Anzeige: Für winforms würdest du einen ErrorProvider verwenden. Ich hab hier ein kl. Tutorial gefunden. Alt aber immer noch gültig. In WPF musst du dir wohl selber was basteln.

Auf die Schnelle hab ich hier ein Tut gefunden.

in was für einer Umgebung bist du denn unterwegs?