0

我有一个表单(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?或者我应该在设计时创建它们?

4

0 回答 0