I have a list of my textbox names, and I want to find a control by name. How is it possible?
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
Use Control.ControlCollection.Find.
TextBox tbx = this.Controls.Find(\"textBox1\", true).FirstOrDefault() as TextBox;
tbx.Text = \"found!\";
EDIT for asker:
Control[] tbxs = this.Controls.Find(txtbox_and_message[0,0], true);
if (tbxs != null && tbxs.Length > 0)
{
tbxs[0].Text = \"Found!\";
}
回答2:
You can use:
f.Controls[name];
Where f
is your form variable. That gives you the control with name name
.
回答3:
TextBox tbx = this.Controls.Find(\"textBox1\", true).FirstOrDefault() as TextBox;
tbx.Text = \"found!\";
If Controls.Find is not found \"textBox1\" => error. You must add code.
If(tbx != null)
Edit:
TextBox tbx = this.Controls.Find(\"textBox1\", true).FirstOrDefault() as TextBox;
If(tbx != null)
tbx.Text = \"found!\";