加/减不在文本框中给出准确的值c#

时间:2016-03-12 14:28:47

标签: c# textbox int subtraction

我正在使用此代码从我在折扣文本框中最初为0的orderprice文本框值中减去折扣txtbox值,在orderprice文本框中减去某些值,当我在折扣文本框中输入时,它从orderprice中减去该值,但即使我不准确按退格按钮它减去值,当我清空折扣文本框时,它给出输入字符串格式不正确的错误,例如订单中有2000,当我输入200 int折扣时(首先它从总数减去2然后减去20然后200)并最终它在orderprice文本框中减去并给出1778,当我退格时它再减去20个然后再减去2个。不知道解决方案 请帮忙提前谢谢。

 private void txt_disc_TextChanged_1(object sender, EventArgs e)
            {


                try
                {
                    if (!string.IsNullOrEmpty(txt_orderprice.Text) || string.IsNullOrEmpty(txt_disc.Text))
                 txt_orderprice.Text = (Convert.ToInt32(txt_orderprice.Text) - Convert.ToInt32(txt_disc.Text)).ToString();
                        txt_orderprice.Update();
                    }
                }

1 个答案:

答案 0 :(得分:0)

我注意到代码的一些奇怪之处: if声明说: 如果txt_orderprice.Text不为null或为空;要么 如果txt_disc.Text为空或空。

如果您希望它们都有值,请检查并更正。

我建议您在if之后添加大括号。无论txt_orderprice是什么,if始终都会更新。{/ 1>

您可以将两个Convert.ToInt32调用拆分为单独的代码行,并使用调试器检查您是否捕获了正确的数字。

阅读并使用@ HABO关于这些事件的评论。调试器将帮助您查看何时调用该方法。