【发布时间】:2013-02-24 01:19:35
【问题描述】:
C#中使用WindowsForm的UserControl和CustomControl有什么区别?
【问题讨论】:
-
谢谢...,你能给我详细...,
标签: c# winforms user-controls custom-controls
C#中使用WindowsForm的UserControl和CustomControl有什么区别?
【问题讨论】:
标签: c# winforms user-controls custom-controls
Windows 应用程序和 Web 应用程序都有自定义和用户控件。 Windows 应用程序控件具有 .cs 扩展名。
一般来说,用户控件更容易创建。您可以将现有的控件(如文本框、标签等)拖到表单上。自定义控件通常更难以创建(耗时),但提供了更大的灵活性、可定制性和集成性。
简而言之,主要区别在于:
用户控件由现有控件组成。由于这个事实,它有时也被称为复合控件。一个典型的例子是登录表单。表单和所有逻辑都包含在这个“可重用”用户控件中。
自定义控件是您创建的控件。在 Windows 窗体中,这意味着重写 OnPaint 方法,如上面的示例所示。自定义控件没有与用户控件相同级别的设计时支持(即拖放现有控件等)。自定义控件通常被认为是可重用的组件,可以添加到 Visual Studio 的工具箱中,因此它们通常不特定于您的业务或代码。
这里有一个链接,通过一些代码示例进入不同的形式:http://samples.gotdotnet.com/quickstart/winforms/doc/WinFormsCreatingControls.aspx
【讨论】:
如果您想将多个控件分组到一个组中,您可能需要使用 UserControl。也就是说,创建一组控件。当您想在项目的不同部分使用相同的控制组时,通常会这样做。
当您想要扩展现有控件时,您可能想要使用 CustomControl。该控件被编译成一个 DLL 文件,您可以从不同的项目中引用该文件。
【讨论】: