检测多个文本框的文本

本文关键字:文本 检测 | 更新日期: 2023-09-27 18:21:06

我有多个方法的程序。我们使用方法创建所有控件。其中一种方法是创建textBox。它就像:

 private TextBox textBox1;
   public void CreateTextBox()
    {
        this.textBox1 = new System.Windows.Forms.TextBox();
        // 
        // textBox1
        // 
        this.textBox1.Location = new System.Drawing.Point(100, Position);
        this.textBox1.Name = "textBox1";
        this.textBox1.Size = new System.Drawing.Size(100, 20);
        Position += 30;
        this.Controls.Add(this.textBox1);
    }

一个表单中有几个文本框(文本框的数量可能在10到20之间变化)。因此,如果我想创建几个文本框,请调用以下方法:

        CreateTextBox();
        CreateTextBox();
        CreateTextBox();

如果我想有这个文本框的文本,像这样的代码会给我返回最后一个文本框文本:

            MessageBox.Show(textBox1.Text);

我的问题是,,,,如何检测第一次调用CreateTextBox()和第二次调用CreateText Box()的文本?感谢您阅读

检测多个文本框的文本

您可以使用包含所有TextBoxes:的数组

var form = new Form();
var boxes = new TextBox[10];
for (int i = 0; i < boxes.Length; i++)
{
    var box = new TextBox();
    box.Location = new Point(10, 30 + 25 * i);
    box.Size = new Size(100, 20);
    form.Controls.Add(box);
    boxes[i] = box;
}
var button = new Button();
button.Text = "Button";
button.Click += (o, e) =>
{
    var message = String.Join(", ", boxes.Select(tb => tb.Text));
    MessageBox.Show(message);
};
form.Controls.Add(button);
Application.Run(form);