C#.NET Windows Forms: Allow only numbers and decimals in TextBox

Problem

A Textbox should only allow numbers and decimals

Approach

Using the Keypress method will validate on each key that is entered.
Call the code below onKeyPress Event of each Textbox with

validateNumber(sender, e);

after each

Solution

private void validateNumber(object sender, KeyPressEventArgs e)
{
  if ((e.KeyChar == ',') && (((TextBox)sender).Text.IndexOf(',') > -1))
  {
    e.Handled = true;
    return;
  }

  if (!Char.IsDigit(e.KeyChar))
  {
    if ((e.KeyChar != ',') &&
        (e.KeyChar != Convert.ToChar(Keys.Back)))
    {
        e.Handled = true;
        return;
    }
 }
}

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.