Рассчитать в динамически создаваемом текстовом поле - PullRequest
0 голосов
/ 20 ноября 2018

Как я могу добавить значения в моем динамически созданном текстовом поле в другом текстовом поле?Например, у меня есть 6 текстовых полей с именами из TextBox0 в TextBox6, и я хочу добавить значения из TextBox0 в TextBox5, а затем установить эти значения в TextBox6.Как я могу это сделать?

Это мой код для создания динамического текстового поля:

static int column = 0;
private void button1_Click(object sender, EventArgs e)
{
    int i = 0;               
    if (column > 0)
    {
        do
        {
            TextBox tb = new TextBox();
            tb.Text = "";
            tb.Name = "TextBox" + (i + column * 6);
            TextBox t = (TextBox)Controls["TextBox" + i.ToString()];
            Point p = new Point(15 + (column * 125), 5 + (i * 25));
            tb.Location = p;
            this.Controls.Add(tb);
            i++;
        } while (i <= 5);
    }
    else
    {
        do
        {
            TextBox tb = new TextBox();
            tb.Text = "";
            tb.Name = "TextBox" + i;
            TextBox t = (TextBox)Controls["TextBox" + i.ToString()];
            Point p = new Point(15, 5 + (i * 25));
            tb.Location = p;
            this.Controls.Add(tb);
            i++;
        } while (i <= 5);               
    }
    column++;
}

1 Ответ

0 голосов
/ 20 ноября 2018
private const string _textBoxName = "TextBox";

Метод подсчитывает сумму текстовых полей по заданному диапазону идентификаторов текстовых полей.Имейте в виду, что это вызовет исключение, если текстовое поле с именем / идентификатором имени не является intgeres или

   private int Count(int from, int to)
            {
                int GetIdFromTextBox(TextBox textBox) => int.Parse(new string(textBox.Name.Skip(_textBoxName.Length).ToArray()));

                var textBoxes = Controls.OfType<TextBox>().ToList();
                var textBoxesWithIds = textBoxes.Select(textBox => (textBox: textBox, id: GetIdFromTextBox(textBox))).ToList();

                var sum = textBoxesWithIds.Where(x => x.id >= from && x.id <= to).Sum(x => int.Parse(x.textBox.Text));

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