C#定義控件的可以分為三種:
1 復合控件:將標准控件組合起來
class MyControl:UserControl{}
比如可以重載OnLayout()函數 ->重寫控件的布局
使用 Browsable注解和DesignerSerializationVisibility注解可以在控件屬性面板中顯示屬性
對於已經存在的父類屬性,重寫時可以加上override。
2 擴展控件:繼承於標准控件
class MyControl:Button{}
3 自定義控件: 完全地自定義一個控件
class MyControl:Control{}
繼承於Control類,就可以從頭到尾定制一個控件
通常我們重寫OnPaint()方法,實現控件的繪制。
一般需要先調用base.OnPaint()方法,使用Graphics來繪制。
在OnPaint中繪制時,要提供相關坐標,該坐標是以控件自身的左上角為(0,0)坐標。
OnPaint一般繪制前景,而背景繪制我們可以放到OnPaintBackground中。
圖片的繪制時,使用DrawImage方法繪制。
