2013-04-28 47 views
-4

我試圖將數量和價格文本框中的值相乘,然後將其傳遞到每次按下添加按鈕時都會更新的總文本框中。以下是我迄今爲止所嘗試的。在每次迭代按鈕按下累積總計

如何讓它在我的總文本框中顯示產品並積累它?例如。在數量4和價格4讀取16,然後,如果我投放量2,價格2它將讀取20

private void add_btn_Click(object sender, EventArgs e) 
    { 
     try 
     { 
      if (customer_textBox.Text == "") 
      { 
       MessageBox.Show(
        "Please enter valid Customer"); 
      } 
      if (quantity_textBox.Text == "") 
      { 
       MessageBox.Show(
        "Please enter valid Quantity"); 
      } 
      if (price_per_item_textBox.Text == "") 
      { 
       MessageBox.Show(
        "Please enter valid Price"); 
      } 
      else 
      { 
       decimal total = Decimal.Parse(total_textBox.Text); 
       total = int.Parse(quantity_textBox.Text) * int.Parse(price_per_item_textBox.Text); 
       total += total; 
       total_textBox.Text = total.ToString(); 
      } 
      quantity_textBox.Clear(); 
      customer_textBox.Clear(); 
      price_per_item_textBox.Clear(); 
      item_textBox.Clear(); 
     } 
     catch (FormatException) 
     { 

     } 
     total_textBox.Focus(); 


    } 

回答

3

更改此

decimal total = Decimal.Parse(total_textBox.Text); 
total = int.Parse(quantity_textBox.Text) * int.Parse(price_per_item_textBox.Text); 
total += total; 
total_textBox.Text = total.ToString(); 

這個

total = currentTotal + (decimal.Parse(quantity_textBox.Text) * decimal.Parse(price_per_item_textBox.Text)); 
total_textBox.Text = total.ToString("C"); 

並創建一個類級變量private decimal currentTotal;

第一行不需要,因爲您只需重新分配值第四行中的文本框。我假設每件產品的價格是decimal價值(例如1.99美元)。將其解析爲int將失去精度(例如$ 1.99將變爲1)。將int乘以int也將返回int,$ 1.99 * 2將變爲1 * 2,其將僅爲2而不是3.98。