项目总结[2]--菜单篇
刚使用VB.Net开发项目,在使用vb.net的过程中走了很多弯路.
希望自己的经验能给各位带来一些帮助.
[如果各位需要代码的话,可以留下Email,大家互相交流经验]
'写C/S程序的人员都希望自己写的程序比较规范化.
'例如自己的菜单想VS.Net Menu一样.
'幸好,前人都帮助我们做了以上工作.下面我们只是继承了他们的类,方法
',就可以自由的按照自己的相象画出自己个性化的Menu.....
'本人没有贡献,只是采取"拿来主义",应用而已.为了方便各位刚进门写程序人员抛一个引门的砖 :-)
由于近来比较忙,项目总结[4]--数据备份 可能要晚点出台啦
'菜单示范篇
'1通过自己重画方式画Menu
'2003-11-10 MeetWeb
Public Class Menu1
Inherits System.Windows.Forms.Form
Dim bmHelp As Bitmap
Public Sub New()
MyBase.New()
'定义窗体名称
Text = "Menu1"
' 从资源中取的菜单需要显示的图片
bmHelp = New Bitmap([GetType], "Bitmap1.bmp")
'定义主菜单
Menu = New MainMenu()
'添加菜单项Help
Menu.MenuItems.Add("&Help")
Dim mi As New MenuItem("&Help")
mi.OwnerDraw = True
'定义该菜单激发事件
AddHandler mi.Click, AddressOf MenuHelpOnClick
AddHandler mi.DrawItem, AddressOf MenuHelpOnDrawItem
AddHandler mi.MeasureItem, AddressOf MenuHelpOnMeasureItem
Menu.MenuItems(0).MenuItems.Add(mi)
End Sub 'New
Sub MenuHelpOnMeasureItem(ByVal obj As Object, ByVal miea As MeasureItemEventArgs)
'设置显示菜单的大小和宽度
miea.ItemWidth = bmHelp.Width
miea.ItemHeight = bmHelp.Height
End Sub 'MenuHelpOnMeasureItem
Sub MenuHelpOnDrawItem(ByVal obj As Object, ByVal diea As DrawItemEventArgs)
'重画该菜单
Dim rect As Rectangle = diea.Bounds
rect.X += diea.Bounds.Width - bmHelp.Width
rect.Width = bmHelp.Width
diea.DrawBackground()
diea.Graphics.DrawImage(bmHelp, rect)
End Sub 'MenuHelpOnDrawItem
Sub MenuHelpOnClick(ByVal obj As Object, ByVal ea As EventArgs)
'点击该菜单Event
MessageBox.Show("Help not yet implemented.", [Text])
End Sub 'MenuHelpOnClick
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
End Sub
End Class