c#控件編寫 (1)自定義一個Label


如果需要創建一個控件,要從UserControl、Control或者是Window窗體提供的其他類繼承。

     UserControl適合用來做組合控件。Control需要自己實現控件的外觀等等,但靈活性高。Windwos控件當然就是能夠對現有的控件進行適當的擴展。

1)實現最基本的Label,輸出一段文字

    首先從Control繼承一個類,這里我叫做XiLabel。我們實現下面的一段代碼。在文字里面繪制出Text

image

編譯一下,在一個Form上顯示出來是下面的樣子:

image

2)高度寬度跟這文字變化

   在繪制前先計算文字的高度和寬度 。

image

 

3)修改控件的編輯模式,在編輯器里面不能夠改變控件的大小

   引入System.Windows.Forms.Design;命名空間 並寫一個繼承ControlDesigner的類,代碼如下:

ControlDesigner 為從 Control 派生的組件的設計器提供基類。除了從 ComponentDesigner 類繼承的方法和功能外,ControlDesigner 還提供其他方法來支持在設計時擴展和改變關聯的 Control 的行為。【MSDN】

image

然后在XiLabel的上方加入一下代碼

image

好吧現在一個還算是完整的Label呈現在了我們的面前,是不是和自帶的Label很類似呢。

image


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM