【发布时间】:2010-11-22 06:55:08
【问题描述】:
这是您可以添加到项目中的三种不同的东西,我不太确定我是否理解其中的区别。例如,当使用Form 时,它们似乎都出现在组件工具箱中。它们各自有哪些常见的使用场景?有什么区别?
【问题讨论】:
标签: c# winforms controls components
这是您可以添加到项目中的三种不同的东西,我不太确定我是否理解其中的区别。例如,当使用Form 时,它们似乎都出现在组件工具箱中。它们各自有哪些常见的使用场景?有什么区别?
【问题讨论】:
标签: c# winforms controls components
用户控件、自定义控件和组件之间的主要区别在于它们从继承树中的不同层次继承:
MyComponent
|-> Component
MyCustomControl
|-> Control
|-> Component
MyUserControl
|-> ContainerControl
|-> ScrollableControl
|-> Control
|-> Component
因此,简而言之,您可以通过不同的选项获得不同数量的预接线功能。
您何时会使用不同的选项? (这些是想法和意见,不是真理)
【讨论】:
UserControl 确实是一个“复合”控件(由其他控件组成的控件),而自定义控件实际上是一个用户设计的控件。
UserControl 吗?
除了 Fredrik 所说的,当您计划跨项目重用组件和自定义控件时,通常会使用它们。当您只在一个项目中使用用户控件时,请使用它。
【讨论】:
它们之间的主要区别- 用户控件是一个扩展名为 .ascx 的页面文件,它只能是 在单个应用程序或项目中使用但自定义控件是可以在多个应用程序中使用的程序集(dll 文件)。
【讨论】:
我认为最后一个陈述在我看来是不正确的。 我创建用户控件有很多不同的原因。
主要原因是如果我说我设计了一个包含多个控件的界面 组合在一起。
我首先创建一个类库,然后向其中添加用户控件。 现在,如果我需要更改用户控件工作方式背后的逻辑的任何部分,我可以非常轻松地进行更改。这个类库也可以多次使用。
同样在同一个优雅的库中,我可以拥有多个可以共享并用于我的任何用户控件的类。
这是我使用用户控件的主要原因。 如果您对用户控件或类库进行了更改。 一旦你建立了工作。 dll 将在 bin 文件夹中动态更新。
所以如果我在另一个项目中引用这个 这些更改也将出现在新项目中。
此外,它不使用与表单以及您在表单上加载的任何内容相同的绘制例程。
所以用户控件使我们能够非常模块化 而且我可以有多个用户控件共享类库的基本类... 所以用户控制的目的不是为了一个项目。它在这方面没有任何限制。 杰夫
【讨论】: