Значения очищаются после добавления динамического текстового поля - PullRequest
0 голосов
/ 31 января 2019

Я запрограммировал кнопку динамического текстового поля.Когда я нажимаю на кнопку, в моей программе создается динамическое текстовое поле.У меня есть еще два текстовых поля, которые являются статическими в моей программе.

Теперь проблема: когда я добавляю значение в два статических текстовых поля, я могу показать мне значения с помощью MessageBox.Show.После того, как я нажму кнопку «Добавить динамическое текстовое поле», значения будут NULL.Таким образом, значения из статических текстовых полей пусты.Динамические текстовые поля не равны NULL, и я могу показать их значения.

{

открытый частичный класс Form1: статическая форма int i = 1;

    public Form1()
    {
        InitializeComponent();
    }

    private void maskedTextBox1_MaskInputRejected(object sender, MaskInputRejectedEventArgs e)
    {

    }


    private void button2_Click(object sender, EventArgs e)
    {
        if (i < 8)

        {
            InitializeComponent();
            TextBox tb = new TextBox();
            Label lb = new Label { };
            lb.Text = i + ". label";
            lb.Name = "label" + i;
            tb.Name = "textbox" + i ;
            tb.Width = 238;
            tb.Height = 35;
            lb.Width = 238;
            lb.Height = 35;
            tb.Font = new Font(tb.Font.FontFamily, 18);
            lb.Font = new Font(lb.Font.FontFamily, 18);

            Point p = new Point(223, 144 + (40 * i));
            Point p2 = new Point(50, 144 + (40 * i));

            lb.Location = p2;
            tb.Location = p;

            this.Controls.Add(tb);
            this.Controls.Add(lb);
            i++;
        }
        else
        {
            MessageBox.Show("Maximum reached");
        }
    }


    public void insert()
    {



        TextBox tb1 = this.Controls.Find("textbox1", false).FirstOrDefault() as TextBox;
        TextBox tb2 = this.Controls.Find("textbox2", false).FirstOrDefault() as TextBox;
        TextBox tb3 = this.Controls.Find("textbox3", false).FirstOrDefault() as TextBox;
        TextBox tb4 = this.Controls.Find("textbox4", false).FirstOrDefault() as TextBox;
        TextBox tb5 = this.Controls.Find("textbox5", false).FirstOrDefault() as TextBox;
        TextBox tb6 = this.Controls.Find("textbox6", false).FirstOrDefault() as TextBox;
        TextBox tb7 = this.Controls.Find("textbox7", false).FirstOrDefault() as TextBox;

  MessageBox.Show(textboxstatic1.ToString());

}

ожидаемый результат: введенное значение результата после добавления динамического текстового поля: нет значения

...