获取动态生成TextBox控件的文本? [英] Get text of dynamically generated TextBox controls?

查看:283
本文介绍了获取动态生成TextBox控件的文本?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

 for(int i = 0; i < numberOfFields; i++)
 {
      TextBox generatedField = new TextBox();
      generatedField.Text = "Please enter Field Report ID Here";
      generatedField.Width = 176;
      generatedField.Location = new Point(pointX, pointY);
      panel1.Controls.Add(generatedField);
      panel1.Show();
      pointY += 25;
}



生成文本框后,我怎么能找出被输入到他们吗?

After generating the TextBoxes, how can I find out what was typed into them?

推荐答案

您需要设置名称您的控件,那么你就可以通过名称访问它们是这样的:

You need to set Name of your controls, then you can access them by name this way:

创建的控制和分配名称:

for(int i = 0; i < numberOfFields; i++)
{
     TextBox generatedField = new TextBox();
     generatedField.Name = "someName_" + i.ToString();
     generatedField.Text = "Please enter Field Report ID Here";
     generatedField.Width = 176;
     generatedField.Location = new Point(pointX, pointY);
     panel1.Controls.Add(generatedField);
     panel1.Show();
     pointY += 25;
}



查找和使用控制:

var txt = (TextBox)panel1.Controls["someName_1"];
MessageBox.Show(txt.Text);



一些注意事项:

唯一名称:注意生成唯一的名称

Unique Names: Pay attention to generate unique names.

空检查:您可能希望 VAR TXT之后添加空检查=(文本框)panel1.Controls [someName_1];

另一个选择::您可以使用 this.Controls .Find 结果
。您也可以使用此代码,这将返回一个文本框的名称someName_1

 var txt = this.Controls.Find("someName_1", true).Cast<TextBox>().FirstOrDefault();



处理事件::您可以添加框TextChanged 事件结果
另一件事可能对你有用,是加入框TextChanged 创建控件时,事件:

Handling Events: You can add TextChanged event
Another thing you may find useful, is adding TextChanged event when creating controls:

generatedField.TextChanged += generatedField_TextChanged;



这样,你应该在形式上此方法:

This way, you should have this method in form:

void generatedField_TextChanged(object sender, EventArgs e)
{
    var txt = (TextBox)sender;
    // do what you need with txt.Text and other properties
}

这篇关于获取动态生成TextBox控件的文本?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆