我正在WF上開發一個小銷售發票應用程序。我有一張客戶表和一張產品表。然後,我通過銷售表單上的組合框填充客戶名稱和產品名稱。一旦用戶從ProductName組合框中選擇一個項目,其他文本框(如Price和ProductID)將自數據庫的Product Table中的數據自動填充。我還有一個名爲txtQuantity的文本框,可以輸入Quantity for product order。一旦爲數量,小計,GST(這是新加坡稅)輸入一個數字,並且總數是自動計算的,並且這些數值顯示在小計,消費稅和總計的文本框中。當用戶刪除要更新/更改的數量時,它會顯示錯誤,因爲「格式異常未提供,輸入字符串格式不正確」。我喜歡在用戶刪除數量或想要更改爲新值時防止此錯誤停止處理我的應用程序。我如何去做,因爲我完全迷失在這裏。以下是我的代碼。如何在不顯示錯誤的情況下更新/更改/清空txtbox中的數據
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);
}
我還希望爲數量文本框設置參數,僅限輸入數字。我會在稍後做。這將是另一件需要探索的事情。任何建議,也歡迎和讚賞。
你需要學習如何調試,所以你將能夠找到該行,從而引發異常,並瞭解自己發生了什麼問題。我的猜測是'txtQuantity'或'txtPrice'是空白,你的'Convert'函數失敗。你可以在做任何事之前簡單地檢查它們(使用'string.IsNullOrEmpty()')。 – Sinatr
您應該使用'int.TryParse'和'decimal.TryParse'來查看數據是否與數據類型兼容。 – LarsTech