講解VB.NET定制Windows控件
本文向大家介紹VB.NET定制Windows控件,可能好多人還不了解VB.NET定制Windows控件,沒有關系,看完本文你肯定有不少收獲,希望本文能教會你更多東西。
.NET是Microsoft公司提供解決未來計算需要的工具.在.NET Framework中提供了許多控件,可以解決編程中用戶界面的設計和實現,但在實際應用中可能需要對系統提供的控件進行改進,如.NET的菜單不能帶圖形,下拉列表不能折行顯示。本文將介紹如何VB.NET定制Windows控件。
一 .NET中設計控件
.NET將控件放在UserControl對象上,可以自己編程繪制定制控件,也可以組合現有的控件形成復合控件或對現有控件進行改進。當選擇建立Windows Control Library時系統自動創建一個類,代碼如下:
- Public Class UserControl
- Inherits System.Windows.Forms.UserControl
UserControl是控件名稱,需要時可以更改,UserControl是所有控件的父類,如果要對現有控件進行改進,可以用現有控件類名代替UserControl。
在該類中可以用屬性過程實現控件的屬性,用公用過程實現控件的方法,如果要自己編程繪制控件,代碼應放在OnPaint方法中。對于自畫控件編程用下面兩個方法:MeasureItem和DrawItem,MeasureItem事件確定發生繪圖過程的矩形尺寸,DrawItem事件中進行繪制過程。該控件類編譯后生成DLL文件。
二 設計帶圖形的菜單
.NET中,MainMenu 控件表示窗體菜單結構的容器。菜單由表示菜單結構中單個菜單命令的MenuItem對象組成,每個MenuItem可以成為應用程序的命令或其他子菜單項的父菜單,要設計帶圖形的菜單就要對MenuItem進行定制。下面是一個定制的MenuItem的類代碼,在類中主要實現MeasureItem和DrawItem兩個事件:
- Public Class myMenuItem
- Inherits System.Windows.Forms.MenuItem
- Private m_picture As Image
- #Region
- …
- #End Region
- '下面代碼實現Picture屬性
- Public Property picture() As Image
- Get
- picture = m_picture
- End Get
- Set(ByVal Value As Image)
- m_picture = Value
- End Set
- End Property
以上介紹VB.NET定制Windows控件。
【編輯推薦】