如何获取命名空间中的所有控件?
如何获取命名空间中的所有控件?例如,我想获取System.Windows.Forms中的控件:TextBox、ComboBox等。
How can I get all the controls in a namespace? For example, I want to get the controls in System.Windows.Forms: TextBox, ComboBox etc.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
命名空间中的控件的概念有点不清楚。您可以使用反射来获取给定命名空间中的程序集中从特定基类型派生的类。例如:
The notion of a control in a namespace is a bit unclear. You could use reflection to get classes in an assembly in a given namespace which derive from a particular base type. For example:
这将返回指定名称空间中的所有类:
this will return all classes in a specified namespace :
您的表单对象有一个
Controls
成员,其类型为ControlCollection
。它本质上是所有控件的列表(在引擎盖下还有一些其他接口)。编辑:根据您的评论,您需要将控件投射回文本框。首先,您必须将其识别为控件。
Your form object has a
Controls
member, which is of typeControlCollection
. It is essentially a list (with some other interfaces under the hood) of all of the controls.EDIT: As per your comment, you need to cast the control back into a textbox. First you must identify it as a control.