UserControl vs CustomControl in C#

本文关键字:in CustomControl vs UserControl | 更新日期: 2023-09-27 18:03:11

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

UserControl vs CustomControl in C#

windows应用程序和web应用程序都有自定义和用户控件。windows应用程序控件有一个.cs扩展名。

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

简单来说,主要的区别是:

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

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

下面是一个链接,通过一些代码示例进入不同的表单:http://samples.gotdotnet.com/quickstart/winforms/doc/WinFormsCreatingControls.aspx

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

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