本文向大家介绍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控件。
【编辑推荐】