-7
namespace Exer3
{
    public partial class MyCalculator : Form
    {
        public MyCalculator()
        {
            InitializeComponent();
        }

        private void btnAdd_Click(object sender, EventArgs e)
        {   

            int num1 = Convert.ToInt32(txtNum1.Text);
            int num2 = Convert.ToInt32(txtNum2.Text);

            if (txtNum1.Text.Length == 0 & txtNum2.Text.Length == 0)
            {
                MessageBox.Show("No Input Detected");
                txtNum1.Focus();
                txtNum2.Focus();
            }
            else

            lblTotal.Text = (num1 + num2).ToString();



        }

        }
    }

当我运行程序并且计算良好时..但是当我尝试将文本框留空并单击添加按钮时,消息框将出现“未检测到输入”,之后程序将开始调试并显示“输入字符串不是以正确的格式”。请帮助解决这个问题

4

2 回答 2

2

将这些行更改为

int num1 = Convert.ToInt32("0"+txtNum1.Text);
int num2 = Convert.ToInt32("0"+txtNum2.Text);

或使用int.TryParse

于 2012-11-17T16:40:48.060 回答
0

这里的问题是你正在转换你不知道它是否包含有效数字的文本框,试试这个

if (txtNum1.Text.Length == 0 && txtNum2.Text.Length == 0)
{
    MessageBox.Show("No Input Detected");
    txtNum1.Focus();
    txtNum2.Focus();
}
else
{
    int num1 = Convert.ToInt32(txtNum1.Text);
    int num2 = Convert.ToInt32(txtNum2.Text);
    lblTotal.Text = (num1 + num2).ToString();
}
于 2012-11-17T16:39:33.860 回答