5

C#中使用WindowsForm的UserControl和CustomControl有什么区别?

4

2 回答 2

7

Windows 应用程序和 Web 应用程序都有自定义和用户控件。Windows 应用程序控件具有 .cs 扩展名。

一般来说,用户控件更容易创建。您可以将现有的控件(如文本框、标签等)拖到表单上。自定义控件通常更难以创建(耗时),但提供了更大的灵活性、可定制性和集成性。

简而言之,主要区别在于:

用户控件由现有控件组成。由于这个事实,它有时也被称为复合控件。一个典型的例子是登录表单。表单和所有逻辑都包含在这个“可重用”用户控件中。

自定义控件是您创建的控件。在 Windows 窗体中,这意味着重写 OnPaint 方法,如上面的示例所示。自定义控件没有与用户控件相同级别的设计时支持(即拖放现有控件等)。自定义控件通常被认为是可重用的组件,可以添加到 Visual Studio 的工具箱中,因此它们通常不特定于您的业务或代码。

这是一个包含一些代码示例的不同形式的链接:http: //samples.gotdotnet.com/quickstart/winforms/doc/WinFormsCreatingControls.aspx

于 2013-03-08T13:32:53.987 回答
4

如果要将多个控件分组到一个组中,则可能需要使用 UserControl。也就是说,创建一组控件。当您想在项目的不同部分使用相同的控制组时,通常会这样做。

当您想要扩展现有控件时,您可能想要使用 CustomControl。该控件编译在一个 DLL 文件中,您可以从不同的项目中引用该文件。

于 2013-03-08T13:33:04.853 回答