使用C#在表单中获取所有文本框名称时使用什么函数?

Gra*_*ter 3 c# winforms

我想知道如何使用C#获取表单中的所有文本框名称?

这是我生成动态文本框的代码:

private void Form1_Load(object sender, EventArgs e)
    {
        for (int i = 1; i <= 5; i++)
        {
            TextBox txtbox = new TextBox();
            txtbox.Name = "txtbox" + i;
            flowLayoutPanel1.Controls.Add(txtbox);

            Label lbl = new Label();
            lbl.Name = "lbl" + i;
            lbl.Text = lbl.Name;
            flowLayoutPanel2.Controls.Add(lbl);
        }
    }

    private void button1_Click(object sender, EventArgs e)
    {
        string[] textBoxNamesArray = this.Controls.OfType<TextBox>()
                                      .Select(r => r.Name)
                                      .ToArray();

        var textboxes = string.Join(",", textBoxNamesArray);

        MessageBox.Show(textboxes);
    }
Run Code Online (Sandbox Code Playgroud)

Hab*_*bib 8

您可以使用LINQ TextBox从当前表单中获取类型控件的所有名称.以下查询将返回包含所有名称的字符串数组.

string[] textBoxNamesArray = flowLayoutPanel1.Controls.OfType<TextBox>()
                                          .Select(r => r.Name)
                                          .ToArray();
Run Code Online (Sandbox Code Playgroud)

记得包括 using System.Linq;