簡體   English   中英

用戶控件的控件是否應該由屬性支持?

[英]Should a User Control's Controls be backed by Properties?

希望我說的對。 我有一個WinForm(3.5)應用程序,它具有1個分為兩個區域的表格。 1是導航,另一個是面板,是內容。 在導航部分中選擇所需的對象,即“人口統計”,然后在面板中嵌入一個包含所有“人口統計”控件的UserControl。

我要問的是每個用戶控件是否應該為每個Control都具有一個Property 示例:ucDemographics有一個名為txtCity的文本框。 是否應該有一個Property來存儲txtCityvalue ,並允許我的窗體和其他用戶控件訪問它?

那是公認的“最佳實踐”嗎?

如果沒有,那是什么?

這取決於您要使用UserControl實現的功能。

通常,您不會公開txtCity,因為調用者隨后可以操縱有關文本框的所有內容。 在大多數情況下,您只會公開當前文本

public string CityText
{
    get { return this.txtCity.Text; }
}

不,那不是最佳實踐。 用戶控件的目的是用自己的行為組成一個新控件。 您最多應具有“幾個”公開的屬性,方法和事件,並允許表單與新控件進行交互。 如果您發現使用它的唯一好方法是公開其組成控件,那么最好不要使用UserControl,而應將控件直接放在表單上。

暫無
暫無

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

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