我正在使用此代码从我在折扣文本框中最初为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();
}
}
答案 0 :(得分:0)
我注意到代码的一些奇怪之处:
if
声明说:
如果txt_orderprice.Text
不为null或为空;要么
如果txt_disc.Text
为空或空。
如果您希望它们都有值,请检查并更正。
我建议您在if
之后添加大括号。无论txt_orderprice
是什么,if
始终都会更新。{/ 1>
您可以将两个Convert.ToInt32
调用拆分为单独的代码行,并使用调试器检查您是否捕获了正确的数字。
阅读并使用@ HABO关于这些事件的评论。调试器将帮助您查看何时调用该方法。