不能在c#的文本框中输入负数
本文关键字:输入 文本 不能 | 更新日期: 2023-09-27 18:26:43
在我的一个程序中,我必须接受用户的数值。我做了"double.parse"将textbox中的字符串转换为double。但在调试过程中,只要输入减号(-),编译器就会显示错误。错误为:
FORMAT EXCEPTION IS UNHANDLED
Input string was not in a correct format.
代码为:
private void textBox1_TextChanged(object sender, EventArgs e)
{
p1 = double.Parse(textBox1.Text);
}
这是因为您在textBox1_TextChanged
中执行此操作:现在解析double
还为时过早,在那个阶段它可能是不完整的。
当最终用户认为条目已完成时尝试执行此操作,例如在丢失焦点事件处理程序中。或者,您可以使用double.TryParse
方法来避免部分条目出现异常。
private void textbox1_TextChanged(object sender, EventArgs e)
{
if (textbox1.Text != "" & textbox1.Text != "-")
{
p1 = double.Parse(textbox1.Text);
}
}
或者这也有效。。。