1

Possible Duplicate:
How can I allow only 0 or 1 to be entered in a TextBox?
Allow only integers in TextBoxes

I'm working on a program now and I have a few simple textboxes. I keep getting an error when the input of the textbox is NOT a number, because it tries to convert it to a integer.

The code is very basic:

    int optelNumber = Convert.ToInt32(textBox2.Text);
    MessageBox.Show("Please enter a digit."); //if optelNumber is not a digit

for example:

input in textbox = "Hello !" => pops up the Mess.Box
input in textbox = 123245 => keep running the program

Hope this is enough information. I've searched almost all other topics but all the code was to advanced for me. :( Thanks for your time

  • edit :

The messagebox is to catch the error and keep the program from crashing.

  • edit :

    int vedett = 0, duvel = 0, kDuvel = 0, kriek = 0, pils = 0;
    
    //only digits allowed here
    int optelNumber = Convert.ToInt32(textBox2.Text);
    
    switch(comboItem)
    {
    case "vedett":
      vedett += optelNumber;
      break;
    case "duvel":
      duvel += optelNumber;
      break;
    case "kl. duvel":
      kDuvel += optelNumber;
      break;
    case "pils":
      pils += optelNumber;
      break;
    case "kriek":
      kriek += optelNumber;
      break;
    case "":
      MessageBox.Show("Kies een andere drank.");
      break;
    }
    
Community
  • 1
  • 1
Nick Peelman
  • 585
  • 1
  • 10
  • 28
  • I don't know if this is want you need, but may help http://blog.csharphelper.com/2012/11/20/throw-standard-exceptions-in-c.aspx – Cesar A. Rivas Feb 04 '13 at 23:14

1 Answers1

3

You need to do a int.TryPase

    int result;
    if (int.TryParse(textBox2.Text, out result))
      int optelNumber = Convert.ToInt32(textBox2.Text);

or

int result;
int optelNumber; 
        if (int.TryParse(textBox2.Text, out result))
          optelNumber  = result;
DJ Burb
  • 2,346
  • 2
  • 29
  • 38