如何从另一个表单访问运行时控件? (C#)

时间:2014-04-13 12:57:46

标签: c# forms modifiers

我有一个表单(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

如果面板和texbox是在设计时创建的,只需将所有控件的 Modifier 属性设置为 public <即可轻松完成/ em>的

问题是它们是在运行时创建的,因此我无法更改修饰符属性。

经过大量搜索后,我找到了以下可行的解决方案:

 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?或者我应该创建它们的设计时间?

0 个答案:

没有答案