2016-10-12 2 views
0

私の4つのコンボボックスの選択値を取得し、それらをWindowsフォームに自動的に追加しようとしています。 コンボボックスの項目は、0,75,0,8などの小数です。 コンボボックスから選択した値をすべてテキストボックスに追加するにはどうすればよいですか?コンボボックスで10進数を選択すると値が自動的に計算されます

私は今5時間試してみて、本当にそれを理解できません。 本当に初心者です。

ありがとうございます!

+0

「ComboBox.SelectedIndexChanged'イベントを使用してください。 –

+0

NumericUpDownコントロールに切り替えると、すでに数値にキャストされている値が返されます – tinstaafl

答えて

1

すべてのコンボボックスでTextChangedイベントを処理し、合計を計算して結果をテキストボックスに割り当てることができます。

private void Form1_Load(object sender, EventArgs e) 
{ 
    foreach (var comboBox in this.Controls.OfType<ComboBox>()) 
    { 
     comboBox.TextChanged += ComboBox_TextChanged; 
     InitializeComboBox(comboBox); 
    } 
} 

private void ComboBox_TextChanged(object sender, EventArgs e) 
{ 
    double result = 0; 
    foreach (var comboBox in this.Controls.OfType<ComboBox>()) 
    { 
     if (!string.IsNullOrEmpty(comboBox.Text)) 
     { 
      result += Convert.ToDouble(comboBox.Text); 
     } 
    } 

    textBox1.Text = result.ToString(); 
} 

private void InitializeComboBox(ComboBox comboBox) 
{ 
    for (int index = 0; index < 10; index++) 
    { 
     comboBox.Items.Add(index + 0.5); 
    } 
} 
+0

ありがとうございます! –

+0

私は問題がありましたが、私は私のフォームに2つのコンボボックスを追加しました。私はDONTを計算に追加したいのですが、とにかくそこに入るようです! :) –

+0

Where lambda expressionを使用してクエリをフィルタリングすることで、追加の2つのコンボボックスを除外できます。 https://gist.github.com/ivayle/7209e5cca4d4856f847d6db9a8fb55a1#file-gistfile1-txt –

関連する問題