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