c# - 如何将文本框中的整数值动态添加到 C# 中的 int 数组
问题描述
我想创建一个带有按钮的表单,其中按钮可以创建一组组件(2 个文本框,1 个标签)。我希望将文本框中输入的值存储到一个 int 数组中。
我已经工作了这么远按钮点击事件
private void button1_Click(object sender, EventArgs e)
{
AddNewLabel();
AddNewTextBox1();
AddNewTextBox2();
}
添加文本框
public System.Windows.Forms.TextBox AddNewTextBox1()
{
System.Windows.Forms.TextBox txt1 = new System.Windows.Forms.TextBox();
this.Controls.Add(txt1);
txt1.Top = txtBoxCounter * 28;
txt1.Left = 125;
string txtName1 = "txtLL" + txtBoxCounter;
txt1.Name = txtName1;
string txtValue1 = txt1.Text;
lowerLimit[txtBoxCounter-1] = Int32.Parse(txtValue1);
return (txt1);
}
添加标签
public System.Windows.Forms.Label AddNewLabel()
{
System.Windows.Forms.Label lbl = new System.Windows.Forms.Label();
this.Controls.Add(lbl);
lbl.Top = lblCounter * 28;
lbl.Left = 15;
lbl.Text = "Range" + lblCounter;
lblCounter = lblCounter + 1;
return (lbl);
}
解决方案
有几种方法可以做到这一点:您可以将TextBox
在集合中创建的对象存储在表单上的实例变量中,或者由于文本框已添加到 中this.Controls
,您可以动态地遍历它们。
方法取决于您;这是使用第二种方法的示例:
var total = this.Controls
.OfType<TextBox>
.Sum(tb => {
int val;
if (int.TryParse(tb.Text, out val)) {
return val;
}
return 0;
});
注意:您需要导入System.Linq
此方法才能编译。
推荐阅读
- javascript - 为什么单击锚链接后我的 jscript 开始出错
- python - TabularDataBunch.from_df 给出没有属性“代码”的错误
- r - 如果我们同时将“字符”和“数字”类型的结果的 ifelse 放在一起,为什么 mutate 不起作用?
- php - 如何在 kubernetes 中拥有可自动扩展的 Laravel API
- mongodb - MongoDB:处理对于 Int64 来说太大的整数
- openlayers - OpenLayers 3 - 仅为特定 bbox 提供 OSM 底图图块
- sql - 在包含多个相关项的 sql 查询中返回 json
- c++ - 不能在带有 vs2017 的 linux 子系统上包含标头
- javascript - 为什么绑定参数不指向实际的函数参数
- python - FileNotFoundError 但文件存在