小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

Visual Studio C# 中使用用戶控件 實例

 悟靜 2014-03-30

Visual Studio C# 中使用用戶控件  

2010-05-30 21:27:52|  分類: C# |舉報 |字號 訂閱

使用VS C#無論是WinForm開發(fā),還是WebForm 開發(fā)都會遇到一個問題:在Form布局時,會重復(fù)使用相同的一組控件。如下圖中的控件

Visual Studio C 中使用用戶控件 - Steven - Steven的博客

 這一組控件是非常常用的,但是如果每一次布局相似的窗體時,都對這些控件進行屬性設(shè)置會是一件非常沒有技術(shù)含量的工作。通常這時就需要用到用戶控件了。

在當(dāng)前的項目上添加新建項,在彈出的對話框中選擇“用戶控件”:

Visual Studio C 中使用用戶控件 - Steven - Steven的博客

 在下面的名稱設(shè)置一下用戶控件的名稱。這里我就命名為:DataArea。在生成的用戶控件設(shè)計窗體,布局控件:

Visual Studio C 中使用用戶控件 - Steven - Steven的博客

 這些都比較簡單,但關(guān)鍵是問題是,生成的用戶控件默認是不會暴露子控件的屬性。比如:你無法直接使用用戶控件的實例來設(shè)置子控件DatePicker的value屬性來設(shè)置日期值。這里有二種做法:

一、使用userControl.Controls["用戶控件中的子控件名"],來調(diào)用子控件,再設(shè)置子控件的相關(guān)屬性。但是這有一個問題,就是你需要記住每個控件的Name屬性,而且調(diào)用的時候需要先把查找到的子控件強制轉(zhuǎn)換向下轉(zhuǎn)型到正確的控件類型,然后再進行設(shè)置。這顯示是比較麻煩的,所以不推薦使用;

二、在設(shè)計用戶控件時,就暴露子控件的一些屬性,把這些屬性設(shè)計為用戶控件的公用屬性。這樣,直接調(diào)用用戶控件的這些設(shè)置好的屬性就可以設(shè)置或者取得子控件的屬性了,同時這樣的設(shè)計還有良好的封裝性。代碼如下:

Visual Studio C 中使用用戶控件 - Steven - Steven的博客

 三個暴露出來的屬性分別是開始日期,結(jié)束日期,和查詢按鈕。Form的調(diào)用代碼如下:

Visual Studio C 中使用用戶控件 - Steven - Steven的博客

 這樣的代碼,既簡單又容易解理,調(diào)用者不必了解用戶控件的具體設(shè)計細節(jié),只需要了解控件所暴露出來的屬性即可方便使用全部子控件。

其實你可以把用戶控件當(dāng)作窗體來設(shè)計和進行編碼,只不過是這個特殊的窗體需以其他的窗體作為載體。當(dāng)然,你也可以在用戶控件中加入一些具體處理的事件處理和變量計算等等。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多