我试图解决这个问题,没有成功。
我正在构建需要访问某些控件的代码,这些控件在usercontrol内部和A面板内部。 事实是,我有数千个按钮,手头上很疯狂,行数会异常高。
也就是说,我设法建立了一种方法来做到这一点,但是我有一个无法摆脱的障碍:
this.usercontrol.panel1.Controls[buttoninsidepanel].InvokeRequired
我也有很多面板,每个面板都有自己的按钮。
i我不知道如何创建一个在示例中用作“ panel1”的“变量”。
我尝试过:
usercontrol.Controls[panel].Controls[buttoninsidepanel].Invoke
其中[panel]表示一个字符串,该字符串接收我要获取控件的面板的名称。
它抛出:“对象引用未设置为对象的实例”。
有什么方法可以用我可以动态更改的变量替换面板名称,就像用按钮一样吗?
谢谢!
答案 0 :(得分:1)
像这样使用Control.ControlCollection.Find方法:
((Panel) usercontrol.Controls.Find("panel1",true)[0])