我的Windows应用程序中有15个文本框和1个按钮。
我想要做的是使用单击按钮事件添加15个文本框的值。有可能??
我试图声明一个数组,然后在数组上循环,但它显示错误“无法转换为int”
private void button1_Click(object sender, EventArgs e)
{
int i;
int j = 0;
while (i <= r15c5)
{
j = j + i;
j--;
}
}
答案 0 :(得分:0)
好吧,我不确定你的意思,但这段代码会创建一个数组,添加2个文本框(你可以添加任意数量的文本框)并总结它们的值:
private void button1_Click(object sender, EventArgs e)
{
TextBox[] texts = new TextBox[] { textBox1, textBox2 };
int sum = 0;
foreach (TextBox textBox in texts)
sum += int.Parse(textBox.Text);
}
int.Parse从文本字符串中获取一个int
答案 1 :(得分:0)
如果您正在使用.Net framework 3.5或更高版本,您可以使用Linq,并在一行中执行:
首先,导入:
using System.Linq;
然后:
private void button1_Click(object sender, EventArgs e)
{
MessageBox.Show(this.Controls.OfType<TextBox>().Sum(t => Int32.Parse(t.Text)).ToString());
}
说明:
//selects all text boxes in your form
this.Controls.OfType<TextBox>()
//gets the sum of all the textboxes according to the selector inside the .Sum() function
.Sum(t => Int32.Parse(t.Text))
//a Lambda expression to select the texts of the text boxes, and parse them as integers
t => Int32.Parse(t.Text)]