如何在不显示错误的情况下更新/更改/清空txtbox中的数据

本文关键字:更改 清空 txtbox 数据 更新 情况下 显示 错误 | 更新日期: 2023-09-27 17:59:38

我正在WF上处理一个小型销售发票应用程序。我有一个客户表和一个产品表。然后,我通过销售表单上的组合框填充客户名称和产品名称。用户从ProductName组合框中选择项目后,其他文本框(如价格和ProductID)将自动填充数据库中"产品表"中的数据。我还有一个名为txtQuantity的文本框,可以为产品订单的数量输入。一旦为"数量"、"小计"、"商品及服务税"(在新加坡是税)和"总额"输入数字,这些值就会自动计算出来,并且这些值会显示在"小计","商品及消费税"answers"总计"的文本框中。当用户删除要更新/更改的数量时,它显示错误为"格式异常未得到处理,输入字符串的格式不正确"。当用户删除数量或希望更改为新值时,我希望防止出现此错误以停止使用我的应用程序。我该怎么做,因为我在这里完全迷路了。下面是我的代码。

private void txtQuantity_TextChanged(object sender, EventArgs e)
{
   int iQuantity = Convert.ToInt32(txtQuantity.Text);
   decimal dPrice = Convert.ToDecimal(txtPrice.Text);
   decimal dSubtotal = dPrice * iQuantity;
   decimal dGST = dSubtotal * 7/100;
   decimal dTotal = dSubtotal + dGST;
    txtSubTotal.Text = Convert.ToString(dSubtotal);
    txtGST.Text = Convert.ToString(dGST);
    txtTotal.Text = Convert.ToString(dTotal);
}

我还想为数量文本框设置参数,因为它只用于输入数字。我稍后再做。这将是另一件需要探索的事情。对此提出的任何建议也表示欢迎和赞赏。

如何在不显示错误的情况下更新/更改/清空txtbox中的数据

在尝试将所有字符串输入分配给整数变量之前,我会通过以下(或类似的方法)运行所有字符串输入,尤其是在处理直接用户输入时。

string myVar1;
//Something that assigns a value to myVar1
if(String.IsNullOrEmpty(myVar1))
{
 myVar1 = "0";
}
else
{
  int number;
  bool result = Int32.TryParse(myVar1, out number);
  if (result)
  {
     //you have a valid input and valid parse, do whatever you need with number     variable     
  }
  else
  {
    //bad input, reset to blank and show error message
  }

}

请注意,上面的代码是一个示例,虽然与您可能想要的代码非常接近,但在将其复制/粘贴到应用程序中之前,您需要对其进行修改