讲解VB.NET定制Windows控件

开发 后端
这里介绍VB.NET定制Windows控件,包括介绍UserControl是控件名称,需要时可以更改,UserControl是所有控件的父类,如果要对现有控件进行改进,可以用现有控件类名代替UserControl。

本文向大家介绍VB.NET定制Windows控件,可能好多人还不了解VB.NET定制Windows控件,没有关系,看完本文你肯定有不少收获,希望本文能教会你更多东西。

.NET是Microsoft公司提供解决未来计算需要的工具.在.NET Framework中提供了许多控件,可以解决编程中用户界面的设计和实现,但在实际应用中可能需要对系统提供的控件进行改进,如.NET的菜单不能带图形,下拉列表不能折行显示。本文将介绍如何VB.NET定制Windows控件。

一 .NET中设计控件

.NET将控件放在UserControl对象上,可以自己编程绘制定制控件,也可以组合现有的控件形成复合控件或对现有控件进行改进。当选择建立Windows Control Library时系统自动创建一个类,代码如下:

  1. Public Class UserControl  
  2. Inherits System.Windows.Forms.UserControl 

UserControl是控件名称,需要时可以更改,UserControl是所有控件的父类,如果要对现有控件进行改进,可以用现有控件类名代替UserControl。

在该类中可以用属性过程实现控件的属性,用公用过程实现控件的方法,如果要自己编程绘制控件,代码应放在OnPaint方法中。对于自画控件编程用下面两个方法:MeasureItem和DrawItem,MeasureItem事件确定发生绘图过程的矩形尺寸,DrawItem事件中进行绘制过程。该控件类编译后生成DLL文件。

二 设计带图形的菜单

.NET中,MainMenu 控件表示窗体菜单结构的容器。菜单由表示菜单结构中单个菜单命令的MenuItem对象组成,每个MenuItem可以成为应用程序的命令或其他子菜单项的父菜单,要设计带图形的菜单就要对MenuItem进行定制。下面是一个定制的MenuItem的类代码,在类中主要实现MeasureItem和DrawItem两个事件:

  1. Public Class myMenuItem  
  2. Inherits System.Windows.Forms.MenuItem  
  3. Private m_picture As Image  
  4. #Region  
  5. …  
  6. #End Region  
  7. '下面代码实现Picture属性  
  8. Public Property picture() As Image  
  9. Get  
  10. picture = m_picture 
  11. End Get  
  12. Set(ByVal Value As Image)  
  13. m_picture = Value 
  14. End Set  
  15. End Property 

以上介绍VB.NET定制Windows控件。

【编辑推荐】

  1. 讲述VB.NET使用FileSystemWatcher
  2. 全面描述VB.NET字节数组
  3. 详解VB6.0和VB.NET窗体的区别
  4. 浅谈VB6.0实现多窗体交互
  5. 概括VB.NET OnStart处理方法
责任编辑:佚名 来源: 博客园
相关推荐

2009-10-20 10:16:24

VB.NET COMB

2009-10-23 13:10:14

VB.NET List

2010-01-11 16:04:10

VB.NET使用wit

2009-10-23 13:14:38

2010-01-13 10:53:24

VB.NET控件

2009-10-14 10:19:57

VB.NET Doma

2009-10-14 16:04:43

VB.NET Noti

2010-01-15 16:03:48

VB.NET重载Win

2009-10-29 10:45:01

VB.NET设置控件

2009-10-27 18:06:41

VB.NET开发控件

2009-10-14 11:15:06

VB.NET Grou

2009-10-16 14:07:18

VB.NET使用Mon

2009-10-10 16:44:52

VB.NET开发控件

2009-10-13 15:09:19

VB.NET使用Tre

2009-10-16 13:19:04

VB.NET Data

2009-10-12 13:54:22

VB.NET Data

2009-10-15 11:42:05

VB.Net赋值语句

2010-01-18 18:20:49

VB.NET使用API

2009-10-13 14:42:30

VB.NET静态成员

2009-10-14 11:27:20

VB.NET Grou
点赞
收藏

51CTO技术栈公众号