日期:2014-05-18  浏览次数:20739 次

C#如何将comboBox中的值取出实现计算
新建了一个form,想通过一个button_click事件,把已添加到comboBox中的每一行的数值一一取出来与textBox中的数值相乘,最后把这些相乘结合求和显示在用于显示结果的textBox中。
  例如:有三个textBox,分别是textBox1、textBox2、textBox3,其中显示的数值分别为100、200、300,另有一个comboBox,其中已经添加了三个item数值,分别是4、5、6,如何通过点击button事件,实现100*4+200*5+300*6,并把这个计算结果显示到textBox4中。
  本人C#水平比较烂,求高手赐教合适的方法,如果太简单,也希望各位不要拍砖!!!拜谢。

------解决方案--------------------
C# code
textBox4.Text = (Convert.ToInt32(textBox1.Text) * Convert.ToInt32(comboBox1.Text) + Convert.ToInt32(textBox2.Text) * Convert.ToInt32(comboBox2.Text) + Convert.ToInt32(textBox3.Text) * Convert.ToInt32(comboBox3.Text)).ToString();

------解决方案--------------------
C# code
textBox4.Text = (Convert.ToInt32(textBox1.Text) * Convert.ToInt32(comboBox1.Items[0].ToString()) + Convert.ToInt32(textBox2.Text) * Convert.ToInt32(comboBox1.Items[1].ToString()) + Convert.ToInt32(textBox3.Text) * Convert.ToInt32(comboBox1.Items[2].ToString())).ToString();

------解决方案--------------------
用循环控制i的变化啊
------解决方案--------------------
C# code
TextBox[] textboxs = new TextBox[] { textBox1, textBox2, textBox3 };
int result = comboBox1.Items.OfType<object>().Select(x => Convert.ToInt32(x.ToString())).Zip(textBoxs.Select(x => Convert.ToInt32(x.Text)), (x, y) => x * y).Sum();