从Windows窗体控件按名称查找控件

kru*_*hah 37 .net c# winforms

我有一个文本框名称列表,我希望按名称查找控件.这怎么可能?

bla*_*bla 93

使用Control.ControlCollection.Find.

TextBox tbx = this.Controls.Find("textBox1", true).FirstOrDefault() as TextBox;
tbx.Text = "found!";
Run Code Online (Sandbox Code Playgroud)

编辑提问者:

Control[] tbxs = this.Controls.Find(txtbox_and_message[0,0], true);
if (tbxs != null && tbxs.Length > 0)
{
    tbxs[0].Text = "Found!";
}
Run Code Online (Sandbox Code Playgroud)

  • TextBox foundTbx = this.Controls.Find(textBoxes [5],true)[0] as TextBox; (3认同)

Ces*_*Gon 11

您可以使用:

f.Controls[name];
Run Code Online (Sandbox Code Playgroud)

f你的表格变量在哪里?这为您提供了名称控件name.

  • 请注意,如果控件是嵌套的,则这不起作用(您只能在控件层次结构中找到该级别的控件). (6认同)

小智 5

TextBox tbx = this.Controls.Find("textBox1", true).FirstOrDefault() as TextBox;
tbx.Text = "found!";
Run Code Online (Sandbox Code Playgroud)

如果找不到Controls.Find,则“ textBox1” =>错误。您必须添加代码。

If(tbx != null)
Run Code Online (Sandbox Code Playgroud)

编辑:

TextBox tbx = this.Controls.Find("textBox1", true).FirstOrDefault() as TextBox;
If(tbx != null)
   tbx.Text = "found!";
Run Code Online (Sandbox Code Playgroud)