Записать в базу текст из динамически созданных textbox- ов

214
15 марта 2018, 07:22

Одной кнопкой я создаю динамические массивы, введя их количество во второй текстбокс

for (int i = 0, x = 1; i < int.Parse(textBox2.Text); i++, x++)
    {
        TextBox dynamicTextBox = new TextBox() { Parent = panel1 };
        dynamicTextBox.Name = x.ToString();
        dynamicTextBox.Location = new Point(40, 210 + i * 30);
        dynamicTextBox.AppendText(dynamicTextBox.Text + "\r\n");
    }

Как записать их в базу xml совсем другой кнопкой? Спасибо! Примерно так выглядит база xml

<?xml version="1.0" encoding="utf-8"?>
<NewDataSet>
  <nameAnketa>анкета1</nameAnketa>
  <Priznak>(ФИО, пол, возраст и т.д.)</Priznak>
  <vopros>Вы пойдете на выборы президента РФ 2018?</vopros>
  <nameVariants>да/нет</nameVariants>
</NewDataSet>

Благодарю всех за помощь! Вроде получилось разобраться. Прилагаю код с пометками

List<TextBox> AllDynamicTextbox = new List<TextBox>();//переменная List, где хранятся все созданные textbox -ы
        private void button1_Click_1(object sender, EventArgs e)//кнопка создания textbox -ов
        {
        for (int i = 0, x = 1; i < int.Parse(textBox2.Text); i++, x++)//цикл и парсинг количества textbox -ов
        {
                AllDynamicTextbox.Add(new TextBox());
                AllDynamicTextbox[i].Location = new System.Drawing.Point(600, (210 + i * 20));//положение на форме
                this.Controls.Add(AllDynamicTextbox[i]);//добавили на форму 
            }
        }
        private void button2_Click(object sender, EventArgs e)//запись в базу
        {
          for (int i = 0; i < AllDynamicTextbox.Count; i++)
                {
                    string text = AllDynamicTextbox[i].Text;
                    XmlElement Variants = doc.CreateElement("variants");//создали новый элемент в xml базе
                    Variants.InnerText = text;//записали в него все значения из textbox -ов
                    doc.DocumentElement.AppendChild(Variants);//добавили в базу
                }
        }

В xml выглядит так(было создано 4 динамических textbox -ов с текстом 1,2,3,4):

  <variants>1</variants>
  <variants>2</variants>
  <variants>3</variants>
  <variants>4</variants>
Answer 1

Сохраняйте ваши текстбоксы в глобальную переменную, в качестве которой может использоваться List<TextBox>.

В обработчике другой кнопки обращайтесь к ранее сформированному List<TextBox>.

UPD: Как верно заметил @Сергей, достаточно, чтобы переменная была видна членами класса.

READ ALSO
Удаленный сервер возвратил ошибку 403

Удаленный сервер возвратил ошибку 403

Вчера работал над проектом, всё было нормальноСегодня при попытке скачать строку со страницы вылетает исключение

239
API Telegram. Как посмотреть время /дату последнего посещения пользователя telegram

API Telegram. Как посмотреть время /дату последнего посещения пользователя telegram

Можно ли посмотреть с помощью Telegram API время когда пользователь telegram был в сети последний раз? А то есть такие у которых включена last seen privacy...

2470
Как обновлять проекты в FirstCode

Как обновлять проекты в FirstCode

При добавлении новых классов-таблиц в DbContext выдает ошибку и приходиться удалять базу и заново запускать проект

245
Перечислить enum циклом for

Перечислить enum циклом for

Как сделать так же только через цикл for

160