如何在用户控件内的面板上调用控件

How to call control on a Panel that is inside usercontrol

我正在尝试解决这个问题,但没有成功。

我正在构建需要访问某些控件的代码,这些控件位于用户控件内部和面板内部。 问题是,我有超过 1000 个按钮,手边做这个太疯狂了,行数会高得离谱。

就是说,我设法建立了一种方法来做到这一点,但我有一个我无法摆脱的障碍:

this.usercontrol.panel1.Controls[buttoninsidepanel].InvokeRequired

我也有很多面板,每个面板都有自己的按钮。

我不知道如何创建一个 "variable" 作为示例中的 "panel1"。

我试过了:

usercontrol.Controls[panel].Controls[buttoninsidepanel].Invoke

其中 [panel] 指的是一个字符串,它接收我想要控制的面板的名称。

它抛出:“对象引用未设置到对象的实例”。

有什么方法可以用我可以动态更改的变量替换面板名称,就像我对按钮所做的一样?

提前致谢!

像这样使用Control.ControlCollection.Find方法:

((Panel) usercontrol.Controls.Find("panel1",true)[0])