在计算按钮方法中插入if(IsValidData)后,计算按钮不会显示结果

时间:2015-10-30 05:30:48

标签: c# validation events methods exception-handling

如果我删除了:

中的if语句
div class="list card" ng-repeat="comment in allComments track by comment.id">
   <content>
</div>

然后程序(添加,减去,除法和乘法的计算器)运行正常,但我需要IsValidData方法来查找用户错误并在消息框中显示它们。截至目前,计算按钮不显示应该存在的结果(输入1 * 5并且不显示5,只显示空白文本框)。我仍然在努力掌握创建事件/方法,所以我认为它必须与我的逻辑有关。

这是我迄今为止所完成的工作,我们将非常感谢任何帮助:

private void btnCalculate_Click(object sender, System.EventArgs e)
    {
        try
        {
            if (IsValidData())

            {
                decimal operand1 = Convert.ToDecimal(txtOperand1.Text);
                string operator1 = txtOperator.Text;
                decimal operand2 = Convert.ToDecimal(txtOperand2.Text);
                decimal result = Calculate(operand1, operator1, operand2);

                result = Math.Round(result, 4);
                txtResult.Text = result.ToString();
                txtOperand1.Focus();
            }  
        }

        catch (Exception ex)
        {               
            MessageBox.Show(ex.Message + "\n\n" +
            ex.GetType().ToString() + "\n" +
            ex.StackTrace, "Exception");
        }
    }

}

1 个答案:

答案 0 :(得分:1)

您应该使用&&而不是||来查看IsOperator函数中的检查条件。

//is a valid operator
public bool IsOperator (TextBox textBox, string name)
{            
    if (textBox.Text != "+" && textBox.Text != "-" && textBox.Text != "/" && textBox.Text != "*")

    {
        MessageBox.Show("Please enter a valid operator in the operator text box.", "Entry Error");
        return false;
    }

    return true;
}