一、引子
我們用winform做企業級客戶端的時候,需要很多自定義的組件,比方我們就可以自定義提示條控件,該控件上可以包含文字展示和按鈕點擊,如下圖:
這樣我們就自定義了一個提示條控件,在需要使用的地方直接調用就可以,你可以為你自定義的控件提供公共屬性,在調用的時候就可以設置該提示條的文本、背景色、按鈕等。那么我們應該怎么新建自定義的控件呢?這就是這篇文章的重點,下面講述
二、自定義控件
做winform的時候基本就用過Component Class、User Control兩種方式。
1、用戶控件
用戶控件是封裝在公共容器內的 Windows 窗體控件的集合,在應用程序內部或應用程序之間提供一致性行為和用戶界面的復合控件。此容器包含與每個 Windows 窗體控件相關聯的所有固有功能,允許您有選擇地公開和綁定它們的屬性。該控件可能包括幾個用來顯示字段的文本框,幾個用來通過記錄定位的按鈕 (Button) 控件。可以有選擇地公開數據綁定屬性,可以將整個控件打包並在應用程序之間重復使用。
2、組件
組件(Component Class)可以從任何現有的 Windows 窗體控件繼承產生新的控件。此方法使您得以保留 Windows 窗體控件所有固有功能,然后通過添加自定義屬性、方法或其他功能擴展此固有功能。例如,可以創建一個從 TextBox 繼承的控件,該控件只接受數字並能自動將輸入轉換為值。這樣的控件可能包含驗證代碼,每當文本框中的文本發生更改時就會調用此代碼,另外,控件還可能有一個附加的“值”屬性。在某些控件中,也可以通過重寫基類的 OnPaint 方法將自定義外觀添加到控件的圖形接口上。
三、如何選擇
上邊已經詳細的介紹了用戶控件和組件的定義。用戶控件適合做復合控件,比如上邊的提示條。組件主要是對winform已經提供的控件進行繼承,然后擴展或者改造。還是建議做個demo都嘗試一下,才能更好的理解。