我創造了這個用戶控件:訪問Winform中用戶控件屬性的正確方法是什麼?
我添加了用戶控制的主要形式,現在我希望對它進行定製。 所以我將不得不添加文本到這3個按鈕,標籤中的文本,填充列表框和設置按鈕的事件。
這樣做的正確方法是什麼?
我環顧網絡,顯然這樣做的方法是在用戶控件中添加公共屬性,以公開我需要的控件的單獨屬性。
喜歡的東西:
public string Button1Text
{
get
{
return btn1.Text;
}
set
{
btn1.Text = value;
}
}
如果我走這條路,我會相當多的公共屬性添加到這個簡單的用戶控制。
但是,不是很容易就暴露出像這樣的用戶控件的整體控制嗎?
public Button MyButton1
{
get { return this.btn1; }
set { this.btn1 = value; }
}
這樣,主窗體可以根據需要簡單地訪問控件及其屬性。
但是,如何處理ListBox比簡單的TextBox更復雜?它有很多我想要訪問的屬性,如DataSource,DisplayMember,Items,SelectedIndex,SelectedItem,SelectedItems,SelectedValue,...我是否公開每個屬性?如果是這樣,第二種方法有什麼不同?在這兩種情況下,表單都綁定到ListBox。或者我應該封裝不同? – user850010 2012-04-29 08:37:24
我覺得你越用這種方式導出屬性,就越有創建依賴關係。嘗試抽離。另外,我建議你學習WPF和MVVM指令。 – 2012-04-29 08:43:42