Как использовать ввод из динамических текстовых полей в Windows forms?

#windows-forms-designer

Вопрос:

Я работаю над проектом Windows forms. Есть кнопка, которая генерирует новые текстовые поля.

         TextBox txtbox = new TextBox();

        this.positionY  = 40;
        txtbox.Location = new System.Drawing.Point(this.positionX, this.positionY);
        this.Controls.Add(txtbox);
 

Как я могу получить входные данные из этих сгенерированных текстовых полей?

Кто-нибудь может мне помочь?

С уважением

ЮРИ-2020

Ответ №1:

Необходимо создать массив текстовых полей, а затем получить к ним доступ в виде элементов массива. Я надеюсь, что следующий код поможет.

 using System;
using System.Windows.Forms;

namespace WindowsFormsApplication3
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        int positionX = 10;
        int positionY = 0;

        TextBox[] txtboxes = new TextBox[3];
        private void Form1_Load(object sender, EventArgs e)
        {
            for (int i = 0; i < txtboxes.Length; i  )
            {
                this.positionY  = 40;
                txtboxes[i] = new TextBox();
                txtboxes[i].Location = new System.Drawing.Point(this.positionX, this.positionY);
                this.Controls.Add(txtboxes[i]);
            }
        }

        private void button1_Click(object sender, EventArgs e)
        {
            string str = "";
            for(int i=0; i<txtboxes.Length;i  )
                str  = txtboxes[i].Text   "n";
            MessageBox.Show(str);
        }
    }
}