WinForm 建立自定義控制項

2021-10-11 21:40:38 字數 1458 閱讀 2425

雖然vs為我們提供了很多控制項可以使用,但有時候這些控制項仍然不能滿足我們的要求,比如我們要對部分控制項進行一些個性化的定製,例如美化控制項,這時候就需要自己繪製控制項,或是在原有控制項的基礎上進行修改

自定義控制項分為三種

1、組合控制項(compositecontrols):在原有控制項的基礎上根據需要進行組合

2、擴充套件控制項(extendedcontrols):繼承自原有控制項,新增一些新的屬性和方法,繪製一些新元素

3、自定義控制項(customcontrols):控制項的繪製全部由使用者定義

1、組合控制項

新建專案,拖入需要的控制項,就像在窗體一樣

編譯生成,可以檢視控制項的外觀

在生成的目錄可以找到相應的控制項庫檔案compositecontrol.dll

這樣組合控制項的dll就做好了,用法後面再講

2、擴充套件控制項

首先,新增乙個類庫

引用兩個命名空間 system.drawing 和 system.windows.forms ,類改名為為buttonex,繼承自button

注意,擴充套件控制項編譯生成後並不能呼叫視覺化工具檢視,只生成了dll檔案,需要引入到專案中使用才能看到

3、自定義控制項

自定義控制項新增方法跟擴充套件控制項一樣,只是最後類是繼承自control類的

接下來是把控制項庫引入到專案中使用

如果專案和控制項庫專案在同一解決方案中的話,控制項會自動引入到工具箱

如果在不同專案中

瀏覽 選擇庫檔案,然後將該控制項打鉤

將控制項拖到窗體中

WinForm自定義Loading控制項

在vs2008下封裝winform自定義loading控制項。autocircle.cs封裝了旋轉的圓形,直接在裡面新增label的話,計算圓形扇面的方法有點小複雜,所以在loadingpanel.cs將autocircle和label封裝在一起。該控制項中提供了當loadingpanel狀態變化時...

winform自定義分頁控制項

1 控制項 public partial class pagercontrol usercontrol endregion region 分頁欄位和屬性 private int pageindex 1 當前頁面 public virtual intpageindex set private int ...

建立自定義控制項

在前一篇文章中 中,我將乙個公共視窗控制項進行了之類劃分,目的是為了修飾其行為或者說是擴充套件其功能。有時候,你只能將公共視窗控制項擴充套件到這樣的底部。我遇到的乙個例子是乙個比較普遍的話題即需要乙個格網控制項並且編輯tabular資料。我對clistctrl進行了之類劃分,並擴充套件使其能夠進行子...