当我按下结果按钮时,它会返回错误,而不是检查条件是否正常。退出时出现以下错误:
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");
}
}
答案 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构建的数字输入。