当没有输入任何值时,我的程序崩溃了

时间:2013-05-15 17:39:29

标签: c# winforms

我在c#的windows窗体中遇到问题。该计划很简单; 有3个文本框,然后它们的值相加。但是,当我点击总和按钮而不在其他3个文本框中输入任何值时,程序崩溃。

如何让这些文本框只接受正数和零? 这就是我做的事情

    private void button1_Click(object sender, EventArgs e)
    {
        double FirstNumb = Convert.ToDouble(txtFirstValue.Text);
        double SecondNumb = Convert.ToDouble(txtSecondValue.Text);
        double ThirdNumb = Convert.ToDouble(txtThirdValue.Text);

        double m;

        m = FirstNumb + SecondNumb + ThirdNumb;
        listBox1.Items.Add(m);


    }

3 个答案:

答案 0 :(得分:1)

尝试使用int.TryParse解决问题。这也处理字符串。

Demo Reference

答案 1 :(得分:1)

您可能正在尝试将文本框文本内容转换为int。不幸的是,您无法将空字符串转换为数字。尝试将文本框默认内容设置为“0”。

答案 2 :(得分:0)

您需要检查文本框中的字符串值是否为空或空,否则无效。改变这一行:

double FirstNumb = Convert.ToDouble(txtFirstValue.Text);

到这个

double FirstNumb = 0;
double.TryParse(txtFirstValue.Text, out FirstNumb);

如果解析失败,FirstNumb将保持为0。请注意,TryParse返回bool,如果解析成功则返回true,否则返回false。你也可以对它采取行动,也许会显示一个MessageBox,要求用户填写一个值并退出求和方法。

有关详细信息,请参阅文档:http://msdn.microsoft.com/en-us/library/994c0zb1(v=vs.100).aspx

编辑:如果你只想强制执行正值,在尝试解析后你必须检查FirstNumb> = 0并使用MessageBox提醒用户原因,并中止求和方法。