c# - 无法在c#中的文本框中输入负数

标签 c# string textbox formatting

在我的一个程序中,我必须接受用户的数值。我做了“double.parse”将文本框中的字符串转换为 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避免部分条目异常的方法。

关于c# - 无法在c#中的文本框中输入负数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9557900/

相关文章:

c# - 粘贴到多个文本框中

javascript - 如何使用 JavaScript/HTML 通过下拉菜单和文本框定向 URL

c# - Entity Framework 4 : where is my load method and IsLoaded property?

java - 谷歌应用引擎数据存储字符串编码问题

c# - 为什么 Bound Textbox 不修改其关联属性,而 Text 值是以编程方式设置的?

ruby - 在 ruby​​ 中组合符号

c - 如何将整个文件加载到 C 中的字符串中

c# - 选择 Word 互操作标题范围会导致 Word 切换到草稿 View

c# - 如何将特定操作传递给 View 模型以在按下按钮时执行?

c# - MVC 5 增加 POST 请求中的最大 JSON 长度