C# 在文本框c中添加/减去未给出准确值#

C# 在文本框c中添加/减去未给出准确值#,c#,textbox,int,subtraction,C#,Textbox,Int,Subtraction,我正在使用此代码从orderprice文本框值中减去折扣txtbox值我最初在折扣文本框中有0,在orderprice文本框中有一些值当我在折扣文本框中输入时,它会从orderprice中减去值,但不准确,即使我按下backspace按钮,它也会减去值,当我清空折扣时文本框它给出了输入字符串格式不正确的错误,例如orderprice中有2000个,当我输入200整数折扣时(首先它从总数中减去2,然后是20,然后是200),最后它在orderprice文本框中减去1778,当我退格时,它再减去20

我正在使用此代码从orderprice文本框值中减去折扣txtbox值我最初在折扣文本框中有0,在orderprice文本框中有一些值当我在折扣文本框中输入时,它会从orderprice中减去值,但不准确,即使我按下backspace按钮,它也会减去值,当我清空折扣时文本框它给出了输入字符串格式不正确的错误,例如orderprice中有2000个,当我输入200整数折扣时(首先它从总数中减去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();
                    }
                }

我注意到关于代码的一些奇怪之处:
if
语句说: 如果
txt\u orderprice.Text
不为null或空;或 如果
txt\u disc.Text
为null或空

选中此项,如果希望它们都有值,请更正

我建议您在
if
后面添加大括号。目前的
txt\u orderprice
始终更新,无论
是否

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


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

此问题中的任何内容都不表示SQL,因此我删除了标记。
TextChanged
事件将在每次击键时触发。由于您不断从最近的订单价格(而非初始订单价格)中减去折扣,因此该值将不断缩小。如果使用其他事件,您可以使用和事件,但仍需要解决缓存订单价格初始值的问题。用户可以在最终设置为零之前为折扣输入多个值。您希望如何恢复到原始订单价格?我是否已在按键(enter)事件中粘贴代码