从textBox2.text和int.Parse获取输入

时间:2015-06-09 18:18:03

标签: c#

当我按下结果按钮时,它会返回错误,而不是检查条件是否正常。退出时出现以下错误:

  

mscorlib.dll中发生未处理的“System.FormatException”类型异常

     

其他信息:输入字符串的格式不正确。

我正在尝试从用户那里获取输入,并将其更改为int中的textBox2。为什么应用程序退出并出现错误?

    private void button1_Click(object sender, EventArgs e)
    {
        string name = "textBox1.Text";
        int qty = int.Parse(textBox2.Text);

        if (textBox1.Text.Length == 0 ||  qty == 0)
        {
            MessageBox.Show("Please enter Values");
        }
        else {
            MessageBox.Show("Thank You");
        }
    }

2 个答案:

答案 0 :(得分:0)

private void button1_Click(object sender, EventArgs e)
{
  if(string.isNullOrWhitespace(textbox1.Text)       
     {
        MessageBox.Show("Please enter Values");
        return;
      }

   int qty = 0;
   if(!int.TryParse(textBox1.Text, out qty))        
       MessageBox.Show("Please enter a number value");        
   else
      MessageBox.Show("Thank you.");
}

如果您使用文本框进行数字输入,则应订阅previewkeydown事件并仅接受数字输入,因为键入任何其他字符将导致tryparse失败。

答案 1 :(得分:0)

你不能解析一个空白字符串的东西“”记住这是一个空字符串,编译器不知道空白意味着零(一个数字),因为它不是。就像bill说的那样,你必须告诉文本框只接收基于Visual Studio构建的数字输入。