簡體   English   中英

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

[英]What are the purpose of User Controls in Visual C#?

用戶控制 - 它們是否有特殊用途?

據我所知,它們與表單沒有什么不同 - 它們具有相同的工具箱和功能。

是否有某些時候它們適合用於表格? 了解它們有什么好處會很有趣。

您可以使用它們以可重用的方式將一組控件和行為組合在一起。 除非將控件添加到某個表單中,否則無法在屏幕上顯示控件。

一個很好的例子是文本框。 在文本框旁邊有一個標簽是很常見的。 您可以構建用戶控件以使其更容易。 只需在控件上放置一個標簽和一個文本框,顯示您想要的任何屬性,在工具箱中設置新控件,現在您可以將此控件放在表單上,​​而不需要在表單上排列標簽和工具箱分別。

您可以將它們視為一個“記住”您對其進行控制的面板。 還有一件更重要的事情。 您也可以將代碼放在這些控件中,並使用它們在自定義控件中構建特殊行為。

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

所有控件都可重復使用。 幾乎所有控件都可以在同一個窗體/窗口/面板/等上重復使用。 例如,TextBox是一個控件。

有兩種方法可以創建自己的可重用控件:

  1. 自定義控制
    • 完全定制,可重復使用。
    • 完全由代碼創建。
    • 您可以通過這種方式更精細地控制控件的操作。
    • 更輕(通常),因為在Visual Studio中沒有為可設計性添加任何內容。
    • 僅在ASP.Net中:不使用或編輯“HTML”類型文件。
  2. 用戶控制
    • 完全定制,可重復使用。
    • 部分在Visual Studio中的設計器中創建,部分在代碼中創建。 (通過代碼隱藏)
    • 從視覺方面處理起來要容易得多。
    • 稍微重一點,因為框架中添加了預先存在的代碼以支持Visual Studio內部的設計。
    • 僅在ASP.Net中:您可以通過編輯.ascx文件(基本上是HTML)來稍微改變外觀。

用戶控件用於重用控件。 想象一下,您需要在應用程序的多個頁面中使用搜索框。 您可以創建一個搜索用戶控件,並將其放在您希望它可見的每個頁面中。

因此,它只不過是一個聚合頁面可重用塊的容器。

如果您只是想要一組控件,那么表單有很多額外的家具,例如最小化和最大化按鈕。 如果您只是簡單地將控件分組到一個Panel中,那么您將擁有與面板相同的所有事件處理程序 - 使用用戶控件,事件處理代碼位於用戶控件類中,而不是表單類。

您可以在許多表單上重用相同的控件。 事實上,您在創建Windows窗體時使用的所有項目都是控件。 用戶控件只是擴展.NET提供的控件庫的額外控件。

在ASP.NET中,用戶控件使您可以將頁面拆分為可重用的組件。 例如,您可能希望有一個可以在您網站上的不同位置使用的搜索框,因此您將使用用戶控件。 它們還可用於部分頁面緩存 您可以緩存部分頁面以提高性能。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM