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