【发布时间】:2016-03-12 14:28:46
【问题描述】:
我正在使用此代码从 orderprice 文本框值中减去 discount txtbox 值按下退格按钮,它减去值,当我清空折扣文本框时,它给出输入字符串格式不正确的错误,例如 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();
}
}
【问题讨论】:
-
这个问题中没有任何东西暗示SQL,所以我删除了标签。
-
TextChanged事件将在每次击键时触发。由于您不断从最近的订单价格而非初始订单价格中减去折扣,因此价值将不断缩小。 -
如果使用另一个事件会怎样
-
您可以使用
Validating和Validated事件,但是您仍然需要解决缓存订单价格初始值的问题。在最终确定为零之前,用户可以输入多个折扣值。您希望如何恢复到原始订单价格? -
完成我已将代码粘贴到按键(输入)事件中
标签: c# textbox int subtraction