我有一个表单(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
如果面板和 texboxes 在设计时创建,这可以很容易地完成,只需将所有控件的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
但问题是它不可索引!我有一个面板数组(和一个 texbox 数组),所以我应该使用index访问它们,正如我上面指定的!
有没有办法从另一种形式访问这些 texbox?或者我应该在设计时创建它们?