组件与控制

时间:2009-03-23 09:44:23

标签: winforms controls components

在WinForms .Net控件的世界中

组件和控件之间有什么区别?

  • Control可以包含任何组件吗?
  • 组件是否可以包含任何控件?

3 个答案:

答案 0 :(得分:7)

Control具有充当窗口所需的所有管道。能够响应Window消息(WndProc)并使Handle成为最重要的。组件缺少所有这些。它真的很简单,它有设计时间支持,它可以被处理,就是它。

组件仍然可以有运行时表示,OpenFileDialog是最好的例子。但这实际上是Windows内置的对话框,而不是Windows窗体。

答案 1 :(得分:1)

Component只是对象/子API的表示。例如。 ImageList是一个不可见的组件,只是一组图像中的API。您可以将它们拖放到表单上的事实只是设计师的糖。

控件旨在可见/可交互/可嵌套。

答案 2 :(得分:1)

在回复您的评论时,可以在对象浏览器中将组件和控件视为来自不同的对象层次结构。无法在Control中添加Component,因为Controls集合仅接受基类型为Control的对象。

组件不能包含控件。