Как получить доступ к элементам управления во время выполнения из другой формы? (С #)
У меня есть форма (Form1) и кнопка на нем. Когда я нажимаю эту кнопку, я создаю панели времени выполнения, хранящиеся в массиве панелей, объявленных так:
Panel[] Panouri_variabile = new Panel[20];
Если я нажму кнопку, панель будет создана. Если я нажму кнопку еще раз, под предыдущей панелью будет создана другая панель и так далее.
Каждая панель имеет текстовое поле внутри. Очевидно, текстовые поля хранятся в массиве текстовых полей, объявленных так:
TextBox[] Nume_variabila = new TextBox[20];
Пользователь что-то пишет в каждом текстовом поле каждой панели.
Теперь я хочу получить доступ к данным, написанным пользователем в этих текстовых полях, из другой формы, например:
Form1 form = new Form1();
form.Panouri_variabile[i].Nume_variabila[i].Text
Это можно легко сделать, если панели и текстовые поля создаются во время разработки, просто установив для свойства Modifier всех элементов управления значение public.
Проблема в том, что они создаются во время выполнения, поэтому я не могу изменить свойство Modifier.
После многих поисков я нашел следующее возможное решение:
Panel new_Panel = Panouri_variabile[i];
А затем объявите следующее свойство на том же уровне, что и событие - обработчики (я думаю, что на уровне класса)
public Panel new_Panel { get; private set; }
Я заметил, что могу видеть new_Panel из другой формы, поэтому я могу получить к нему доступ вот так:
Form1 form = new Form();
form.new_Panel
но проблема в том, что это не индексируется! У меня есть массив панелей (и массив текстовых окон), поэтому я должен получить к ним доступ, используя индекс, как я указал выше!
Есть ли способ получить доступ к этим текстовым полям из другой формы? Или я должен создать их во время разработки?