在UserControl中反映以检查包含的表单.C#

Wit*_*eso 0 c# reflection user-controls

我的项目是用c#编写的.我有一个我设计的用户控件.在那个用户控件中,我希望能够通过使用反射来查看控件所在的表单,以查看表单上的所有其他控件.

我该怎么做呢?我用反射来通过dll,但不是用于这样的事情.

总结:我的usercontrol放在一个表单上,我希望我的usercontrol到onLoad查看表单上的所有其他控件(有时我想将它限制在同一个容器而不是整个表单,但我可以稍后解决).

如果有人有任何想法,我也会接受不使用反思的想法.

谢谢!

编辑:

所以我试着简单地浏览一下父控件,这对于我试图做的事情没有用,这是我在上面严重解释它的错.

让我提供一些细节.

我知道在主窗体上会有一个ContainerListView控件,现在当你向containerlistview添加列时,会创建ContainerListviewColumnHeaders.它们的声明出现在表单的initalizeComponent()中.我想要做的是在我的usercontrol中我想查看表单并找到所有的ContainerListViewColumnHeader,但是因为它们不是'Control'类型(它们是'Component'),所以它们不会出现在前面的方法中.询问Containerlistview不是一种选择.

Ree*_*sey 5

不需要反思.

只需看看UserControl.ParentForm - 这是托管UserControl的Form.从那里,您可以通过Form.Controls迭代(递归).