c 自定義控制項小結

2022-01-23 20:09:21 字數 778 閱讀 5252

想學習下怎麼做控制項,發現網上資料很零散,所以先總結下,沒有的以後在補充。在winform裡面,可以自己設計3中控制項,乙個是擴充套件控制項(繼承已有控制項的屬性和方法),使用者控制項(幾個已有控制項的組合),自定義控制項(獨一無二的控制項)。我主要總結第3中控制項的一些基本東西。要在屬性編輯器中看到自己設定的屬性,那麼必須在自己設定的屬性前加

[description ("一些描述")]

比如:[description ("起始點")]

point start = new point();

public point gsstart

get

set { start = value;

invalidate();//這裡很重要,當你在屬性編輯器中設定了乙個值的時候,要想馬上看到效果,那必須加入這句話,使區域無效,然後控制項會重畫,重畫的時候就根據新得到的值把控制項畫出(不明白意思的同學可以把它注釋了試一下)

以後只要給這個控制項賦值,那麼它就會重畫,又乙個問題出現了,重畫頻率很高時,閃爍很厲害怎麼辦,莫急,人家微軟早就考慮到了這些,我們只需要在自定義控制項的建構函式中加入下面這3句話

this.setstyle(controlstyles.userpaint, true);

this.setstyle(controlstyles.allpaintinginwmpaint, true);

this.setstyle(controlstyles.doublebuffer, true); 

功能是用快取來解決這個問題,實際原理我不太清楚。

好目前我就知道這麼多,剩下的邊學邊總結

C 自定義控制項

做radiobutton button textbox的自定義控制項 先在工程分別新增3個類 然後分別在類裡面寫 diybutton.cs diytextbox.cs diyradiobutton.cs 寫好自定義控制項後就開始更改一些地方 窗體下有個窗體名.designer.cs開啟這個 檔案 更...

c 自定義控制項

第一步 新建乙個控制項庫專案 mycontrol 第二步 從工具箱裡面拖動1個picturebox 1個button 6個lable控制項到使用者介面上,布局如下 如上圖,設定picturebox的name為picbox,背景為白色,button的name為btnopen,另外靠左的三個lable的...

c 自定義控制項

vs怎麼自定義乙個控制項,這裡記錄乙個簡單的小例子。例子自定了picturebox這個控制項,將其形狀改寫成橢圓。首先講講如何自定義乙個控制項 1 建立乙個windows窗體空間庫的專案 2 專案輸出型別改為類庫,編譯生成,將生成的dll檔案複製到特定資料夾 3 在winform專案工具箱裡新增dl...