1

可能重复:
如何只允许在 TextBox 中输入 0 或 1?
仅允许在 TextBoxes 中使用整数

我现在正在开发一个程序,我有一些简单的textboxes. 当输入不是数字时,我不断收到错误textbox,因为它试图将其转换为整数。

代码非常基本:

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

例如:

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

希望这是足够的信息。我搜索了几乎所有其他主题,但所有代码对我来说都是高级的。:( 谢谢你的时间

  • 编辑 :

messagebox是为了捕捉错误并防止程序崩溃。

  • 编辑 :

    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;
    }
    
4

1 回答 1

3

你需要做一个int.TryPase

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

或者

int result;
int optelNumber; 
        if (int.TryParse(textBox2.Text, out result))
          optelNumber  = result;
于 2013-02-04T23:13:21.617 回答