Forum: PC-Programmierung c# nur buchstaben eingeben können


von Bob H. (Firma: hinter den 7 bergen) (bob128)


Lesenswert?

Hi,

ich habe mehrere textboxen in die ich verschiedenes eingebe. in 2 davon 
sollen NUR strings und in eines nur int's eingegeben werden.

wie kann ich das in c# machen das der user bei einer textbox nur 
buchstaben eingeben kann aber keine zahlen?

von Matthias S. (matthias00)


Lesenswert?

Schau in der Toolbox mal nach Masked-Textboxes.

von Bob H. (Firma: hinter den 7 bergen) (bob128)


Lesenswert?

ok habs mal rübergezogen aber was kann ich jetzt damit anfangen soweit 
ich das ding richtig verstehe kann ich bei benutzerdiferent nur eingeben 
was vorher drinstehen soll beim ausführen des programms

von Arc N. (arc)


Lesenswert?

Bob Hulu schrieb:
> ok habs mal rübergezogen aber was kann ich jetzt damit anfangen soweit
> ich das ding richtig verstehe kann ich bei benutzerdiferent nur eingeben
> was vorher drinstehen soll beim ausführen des programms

Nicht ganz, es wird festgelegt wie die Eingaben des Users zur Laufzeit 
zu behandeln sind.
http://msdn.microsoft.com/en-us/library/system.windows.forms.maskedtextbox.mask(v=VS.100).aspx

von Sven (Gast)


Lesenswert?

Ansonsten könntest du auch bei der Textbox das Key Press Event benutzen.

In etwa so:
1
private void textBox_OnKeyPress(object sender, KeyPressEvent e)
2
{
3
    if (_ListeMitGueltigenZeichen.Contains(e.KeyChar))
4
    {
5
    }
6
    else
7
    {
8
        e.handled = true;
9
    }
10
}

Wobei
1
_ListeMitGueltigenZeichen
 eine List<char> ist oder auch ein stinknormales array mit chars in 
denen alle gültigen Zeichen enthalten sind.

Das hat zur Folge, dass, wenn jemand ein ungültiges Zeichen eintippt, 
überhaupt nichts passiert.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.