Überprüfung ob in Textbox nur Zahlen sind?



  • Hi,

    Kennt von euch jemand den Befehl, mit dem man überprüfen kann, ob in einer Textbox nur Zahlen eingegeben wurden?

    so solls dann etwa aussehen:

    if (this.textbox1 == "nur Zahlen?")



  • also ich würde ein Event für jeden tasten druck machen und dann schauen ob es im ASCII Code von 48 bis 57 (das dürfte 0 -9 entsprechen) liegt.

    Es geht aber glaube ich noch leichter irgendwie erinnere ich mich da gerade noch an etwas.
    Ich schaue mal nach



  • Ohh das ging relativ schnell mit der Korrektur also hier die bessere Lösung,
    wobei die auch nicht ganz anders ist:

    private void KeyPress(object sender, 
                          System.Windows.Forms.KeyEventArgs e)
    {
        //Lässt nur zahlen zu
        if(e.KeyChar < '0' || e.KeyChar > '9')
        {
             e.Handled = true;
             MessageBox.Show("Nur Zahlen");
        }
    }
    

    Nachzulesen in C# von Jürgen Bayer 😉
    Ich hoffe er nimmt mir es nicht übel



  • danke dir



  • bei keydown auf e.IsLetter prüfen.

    gern geschehen



  • Servus,

    e.IsLetter gibts bestimmt nur in .Net 2.0 oder?

    private void KeyPress(object sender,
                          System.Windows.Forms.KeyEventArgs e)
    {
        //Lässt nur zahlen zu
        if(e.KeyChar < '0' || e.KeyChar > '9')
        {
             e.Handled = true;
             MessageBox.Show("Nur Zahlen");
        }
    }
    

    mit der Methode gibts aber ein Problem.. man kann keine Backspacetaste benutzen um etwas zu löschen..

    Benutz doch sowas in der Art...

    // 8 = Backspace
    if (e.KeyChar != 8)
    {
    	if (!char.IsNumber(e.KeyChar))
    	{
    		MessageBoxOptions options = (MessageBoxOptions)0;
    
    		MessageBox.Show("Dieses Feld erlaubt nur numerische Werte als Eingabe!", Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Error, 
    				MessageBoxDefaultButton.Button2, options);
    
    		e.Handled = true;
    	}
    }
    

    mfg
    Hellsgore



  • Naja um die Backspace taste zu nutzen musst du glaube ich die if anweisung wie folgt ändern

    if(e.KeyChar < '0' || e.KeyChar > '9' || e.KeyChar!=8)

    die 8 müsste laut ASCII code für den Backspace stehen.

    mfg Fabian



  • Oder so...
    ist ja Pumpe... Hauptsache es geht :xmas2:

    mfg
    Hellsgore


Anmelden zum Antworten