在WinForms .Net控件的世界中
组件和控件之间有什么区别?
答案 0 :(得分:7)
Control具有充当窗口所需的所有管道。能够响应Window消息(WndProc)并使Handle成为最重要的。组件缺少所有这些。它真的很简单,它有设计时间支持,它可以被处理,就是它。
组件仍然可以有运行时表示,OpenFileDialog是最好的例子。但这实际上是Windows内置的对话框,而不是Windows窗体。
答案 1 :(得分:1)
Component只是对象/子API的表示。例如。 ImageList是一个不可见的组件,只是一组图像中的API。您可以将它们拖放到表单上的事实只是设计师的糖。
控件旨在可见/可交互/可嵌套。
答案 2 :(得分:1)
在回复您的评论时,可以在对象浏览器中将组件和控件视为来自不同的对象层次结构。无法在Control中添加Component,因为Controls集合仅接受基类型为Control的对象。
组件不能包含控件。