Visual C#中用户控件的用途是什么?

用户控制 – 它们是否有特殊用途?

据我所知,它们与表单没有什么不同 – 它们具有相同的工具箱和function。

是否有适合使用表格的特定时间? 理解他们有什么好处会很有趣。

您可以使用它们以可重用的方式将一组控件和行为组合在一起。 除非将控件添加到某个表单中,否则无法在屏幕上显示控件。

一个很好的例子是文本框。 在文本框旁边放置一个标签是很常见的。 您可以构建用户控件以使其更容易。 只需在控件上放置一个标签和一个文本框,显示您想要的任何属性,在工具箱中设置新控件,现在您可以将此控件放在表单上,​​而不需要在表单上排列标签和工具箱分别。

您可以将它们视为一个“记住”您对其进行控制的面板。 还有一件重要的事情。 您也可以将代码放在这些控件中,并使用它们在自定义控件中构建特殊行为。

我必须(略微)不同意所选答案。 可重用性只是UserControl的一部分。

所有控件都可重复使用。 几乎所有控件都可以在同一个窗体/窗口/面板/等上重复使用。 例如,TextBox是一个控件。

有两种方法可以创建自己的可重用控件:

  1. 自定义控制
    • 完全定制,可重复使用。
    • 完全由代码创建。
    • 您可以通过这种方式更精细地控制控件的操作。
    • 重量较轻(通常),因为在Visual Studio中没有为可设计性添加任何内容。
    • 仅在ASP.Net中:不使用或编辑“HTML”类型文件。
  2. 用户控制
    • 完全定制,可重复使用。
    • 部分在Visual Studio中的设计器中创建,部分在代码中创建。 (通过代码隐藏)
    • 从视觉方面处理起来要容易得多。
    • 稍微重一点,因为框架中添加了预先存在的代码以支持Visual Studio内部的设计。
    • 仅在ASP.Net中:您可以通过编辑.ascx文件(基本上是HTML)来稍微改变外观。

用户控件用于重用控件。 想象一下,您需要在应用程序的多个页面中使用搜索框。 您可以创建搜索用户控件并将其放在您希望它可见的每个页面中。

因此,它只不过是一个聚合页面可重用块的容器。

如果您只是想要一组控件,那么表单有很多额外的家具,例如最小化和最大化按钮。 如果你只是简单地将控件分组在一个Panel中,你就可以在与面板相同的窗体上使用所有事件处理程序 – 使用用户控件,事件处理代码在用户控件类中,而不是表单类。

您可以在许多表单上重用相同的控件。 事实上,您在创建Windows窗体时使用的所有项目都是控件。 用户控件只是扩展.NET提供的控件库的额外控件。

在ASP.NET中,用户控件使您可以将页面拆分为可重用的组件。 例如,您可能希望有一个可以在网站上的不同位置使用的搜索框,因此您将使用用户控件。 它们还可用于部分页面缓存 。 您可以缓存部分页面以提高性能。