【发布时间】:2011-05-27 21:39:19
【问题描述】:
我正在开发一个应用程序,它在运行时从 XML 文件添加对象(基本上是 Windows Forms 控件)。应用程序需要访问已添加的对象。
对象被添加到面板或组框中。对于面板和组框,我有 Panel.Controls["object_name"] 来访问对象。这仅在将对象直接添加到同一面板上时才有用。在我的情况下,主面板 [pnlMain,我只能访问此面板] 可能包含另一个面板,并且此面板 [pnlChild] 再次包含一个组框 [gbPnlChild] 并且该组框包含一个按钮 [button1,我想访问此按钮] .为此,我有以下方法:
Panel childPanel = pnlMain.Controls["pnlChild"];
GroupBox childGP = childPanel.Controls["gbPnlChild"];
Button buttonToAccess = childGP["button1"];
当父母知道时,上述方法很有帮助。在我的场景中,只知道要访问的对象的名称 [button1] 而不是它的父对象。那么我如何通过它的名字访问这个对象,而不是它的父对象呢?
有没有类似 GetObject("objName") 之类的方法?
【问题讨论】: