我想找到我的表单中实现某个接口的所有控件(比如说ITestInterface
)。我曾经尝试这样做:如何在整个控件链中找到类型的控件?
this.Controls.OfType<ITestInterface>();
但专家组只有一个深深的(尽管你是怎样MSDN - @dasblinkenlight)的水平,所以,如果例如,我在形式的面板和面板内的ITestInterface
控制,它不会找到它。
如何做到这一点?
编辑:作为@HansPassant在评论中写道,我可以硬编码我的名字的面板,但是,我需要一个通用的解决方案,而不是一个具体的解决方案,以一种特殊形式。
提示:使用递归。 (Control.Controls/Control.Parent) –
考虑panel1.Controls而不是this.Controls –
@HansPassant - 我需要的解决方案是通用的,而不是特定于特定的表单。 – Sipo