2016-04-16 8 views
0

リストボックスの列の合計を計算しようとしています。私のコードは以下の通りです:私は各 'トット' を追加して合計を計算し、このテキストボックスに表示するにはどうすればよいリストボックスの合計を計算する方法

変数

double VanTot = Menu.VanillaQ * 1.00; 
     double LCTot = Menu.LCQ * 1.50; 
     double ChocTot = Menu.ChocQ * 1.50; 

リストボックス

if (Menu.VanillaQ > 0) 
     { 

      listBox2.Items.Add("£" + VanTot.ToString("N2")); 

     } 

     if (Menu.LCQ > 0) 
     { 

      listBox2.Items.Add("£" + LCTot.ToString("N2")); 

     } 

     if (Menu.ChocQ > 0) 
     { 
      listBox2.Items.Add("£" + ChocTot.ToString("N2")); 
     } 

private void Totaltxt_TextChanged(object sender, TextChangedEventArgs e) 
    { 


    } 

答えて

0

Totaltxt_TextChangedメソッドは、対応するテキストボックスのテキストが何らかの形で変更されたときに呼び出されるため、合計の合計にどのように適用されるか分かりません。合計を計算して表示する必要があるときは、たぶん次の行を挿入するだけです。私は "Totaltxt"あなたのテキストボックスの名前と仮定しています。

Totaltxt.Text = (VanTot + LCTot + ChocTot).ToString();

1

あなたはすべてのListBoxItemsSumそれらを取得したい場合は、あなたを助けるためにLINQSumを使用することができます。あなたがそこに着く前に、しかし、あなたは、いくつかの中間ステップが必要になります。string

  • objectのコレクションからあなたのListBox.Itemsキャスト

    1. は数データ型のように、たとえば、decimal
    2. 合計結果
    に各要素を変換します

    このようにしてLINQワンライナーでこれを行うことができます。

    decimal sum = listBox1.Items 
           .Cast<string>() //read (1) 
           .Select(x => Convert.ToDecimal(x)) //read (2) 
           .Sum(); //read (3) 
    
  • 関連する問題