获取动态创建的文本框的价值

Cro*_*uch 2 c# textbox dynamic winforms

我现在有点蠢,我创建了一些代码,创建了4个文本框,并在运行时将它们添加到表格布局中(下面的代码)但是我很难从中获取文本,我尝试从它获取它的值,string s = TxtBox1.Text.ToString();但它只是得到一个空引用,然后我尝试txt.Text.ToString();,这只是从最后创建的文本框中获取文本.

   private void button2_Click(object sender, EventArgs e)
    {
        int counter;
        for (counter = 1; counter <= 4; counter++)
        {
            // Output counter every fifth iteration
            if (counter % 1 == 0)
            {
                AddNewTextBox();
            }
        }
    }

    public void AddNewTextBox()
    {
        txt = new TextBox();
        tableLayoutPanel1.Controls.Add(txt);
        txt.Name = "TxtBox" + this.cLeft.ToString();
        txt.Text = "TextBox " + this.cLeft.ToString();
        cLeft = cLeft + 1;
    }
Run Code Online (Sandbox Code Playgroud)

我已经全神贯过地寻找答案了,但是如果有人有任何想法我什么都没发现我会感激不尽.

谢谢

ASh*_*ASh 6

此代码从tableLayoutPanel1中选择textbox1,将其从Control转换为TextBox并获取Text属性:

string s = ((TextBox)tableLayoutPanel1.Controls["TxtBox1"]).Text;
Run Code Online (Sandbox Code Playgroud)

如果你需要它们,那么迭代文本框:

string[] t = new string[4];
for(int i=0; i<4; i++)
    t[i] = ((TextBox)tableLayoutPanel1.Controls["TxtBox"+(i+1).ToString()]).Text;
Run Code Online (Sandbox Code Playgroud)