Как динамически добавлять целочисленные значения из текстового поля в массив int в C # - PullRequest
0 голосов
/ 13 мая 2018

Я хочу создать форму с кнопкой, где кнопка может создать набор компонентов (2 текстовых поля, 1 метка). Я хочу, чтобы значение, введенное в текстовые поля, сохранялось в массиве int.

Я работал так далеко Событие нажатия кнопки

 private void button1_Click(object sender, EventArgs e)
    {

        AddNewLabel();
        AddNewTextBox1();
        AddNewTextBox2();
    }

Добавляет текстовые поля

 public System.Windows.Forms.TextBox AddNewTextBox1()
    {
        System.Windows.Forms.TextBox txt1 = new System.Windows.Forms.TextBox();
        this.Controls.Add(txt1);
        txt1.Top = txtBoxCounter * 28;
        txt1.Left = 125;
        string txtName1 = "txtLL" + txtBoxCounter;
        txt1.Name = txtName1;
        string txtValue1 = txt1.Text;
        lowerLimit[txtBoxCounter-1] = Int32.Parse(txtValue1);
        return (txt1);


    }

Добавляет ярлыки

public System.Windows.Forms.Label AddNewLabel()
    {
        System.Windows.Forms.Label lbl = new System.Windows.Forms.Label();
        this.Controls.Add(lbl);
        lbl.Top = lblCounter * 28;
        lbl.Left = 15;
        lbl.Text = "Range" + lblCounter;
        lblCounter = lblCounter + 1;
        return (lbl);
    }

После начала отладки Inital Form

после нажатия кнопки After Button Click

1 Ответ

0 голосов
/ 13 мая 2018

Существует несколько подходов к этому: вы можете хранить TextBox объекты, которые вы создаете в коллекции, в переменной экземпляра на форме, или поскольку текстовые поля уже добавлены в this.Controls, вы можете перемещаться по ним динамически.

Подход зависит от вас;Вот пример использования второго подхода:

var total = this.Controls
    .OfType<TextBox>
    .Sum(tb => {
        int val;
        if (int.TryParse(tb.Text, out val)) {
            return val;
        }
        return 0;
    });

Примечание: Вам необходимо импортировать System.Linq для этого подхода для компиляции.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...