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

标签 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);
    }

最佳答案

您可以使用 LINQ 从当前窗体中获取类型为 TextBox 的所有控件的名称。以下查询将返回一个包含所有名称的字符串数组。

string[] textBoxNamesArray = flowLayoutPanel1.Controls.OfType<TextBox>()
                                          .Select(r => r.Name)
                                          .ToArray();

记得包含 using System.Linq;

关于c# - 在使用 C# 获取表单中的所有文本框名称时使用什么函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13578930/

相关文章:

c# - ASP.NET Core 在 json post 请求正文中传递 antiforgerytoken

c# - Dapper 和存储过程

c# - 使用使用不同编译器编译的 DLL

c# - WinForms - 绑定(bind) ListBoxControl

.net - 使用 Windows 调试工具调试 .NET 2.0 Winforms 应用程序

c# - C#中的慢速屏幕绘制

c# - 如何从 C# 中的数据集或数据表导出 Excel?

c# - 将 ConfigurationManager 重定向到另一个文件

c# - Visual Studio 设计时属性 - 表单列表下拉列表

c# - 多个运行时过滤器的动态 Linq 查询