• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

VB.NET菜单设计初级入门

发布: 2008-4-10 14:47 | 作者: 阿虎 | 来源: 天极开发者网络 | 查看: 179次 | 进入软件测试论坛讨论

领测软件测试网

 

  9. 用下列代码替换Form1.vb中的Button2的Click事件对应的处理代码,下拉代码的作用是动态创建图05中的弹出菜单:

Private Sub Button2_Click ( ByVal sender As System.Object , ByVal e As System.EventArgs ) Handles Button2.Click
 Dim ContextMenu1 As ContextMenu = New ContextMenu ( )
 '创建一个ContextMenu实例
 Dim myMenuItem1 As MenuItem = New MenuItem ( )
 Dim myMenuItem2 As MenuItem = New MenuItem ( )
 Dim myMenuItem3 As MenuItem = New MenuItem ( )
 myMenuItem1.Text = "拷贝(&C)"
 myMenuItem2.Text = "剪切(&X)"
 myMenuItem3.Text = "粘贴(&V)"
 '创建三个MenuItem实例,并进行相应设置
 ContextMenu1.MenuItems.Add ( myMenuItem1 )
 ContextMenu1.MenuItems.Add ( myMenuItem2 )
 ContextMenu1.MenuItems.Add ( myMenuItem3 )
 '在ContextMenu1中加入MenuItem
 Me.ContextMenu = ContextMenu1
 '把ContextMenu1指派给Form的ContextMenu属性,显示弹出菜单
 Button2.Enabled = False
End Sub

  10. 至此【动态创建菜单】项目的全部工作就完成了,单击快捷键“F5”运行程序,单击程序中的【创建下拉菜单】按钮,则创建出图04所示的下拉菜单;单击程序中的【创建弹出菜单】,则动态创建出图05所示的弹出菜单。

  如果您要创建的菜单中的菜单项还有子菜单,可以根据菜单项中的父子关系,把子菜单项加入到父菜单项,然后再把父菜单项加入上一级的菜单项或MainMenu和ContextMenu实例中,下面代码作用是创建图06所示的下拉菜单,如果是弹出菜单,其做法类似:

Private Sub Button2_Click ( ByVal sender As System.Object , ByVal e As System.EventArgs ) Handles Button2.Click
 Dim ContextMenu1 As ContextMenu = New ContextMenu ( )
 '创建一个ContextMenu实例
 Dim myMenuItem1 As MenuItem = New MenuItem ( )
 Dim myMenuItem2 As MenuItem = New MenuItem ( )
 Dim myMenuItem3 As MenuItem = New MenuItem ( )
 myMenuItem1.Text = "拷贝(&C)"
 myMenuItem2.Text = "剪切(&X)"
 myMenuItem3.Text = "粘贴(&V)"
 '创建三个MenuItem实例,并进行相应设置
 ContextMenu1.MenuItems.Add ( myMenuItem1 )
 ContextMenu1.MenuItems.Add ( myMenuItem2 )
 ContextMenu1.MenuItems.Add ( myMenuItem3 )
 '在ContextMenu1中加入MenuItem
 Me.ContextMenu = ContextMenu1
 '把ContextMenu1指派给Form的ContextMenu属性,显示弹出菜单
 Button2.Enabled = False
End Sub

图06:动态创建存在子菜单的下拉菜单


 
  四..Net Frame Work SDK 为在VB.Net绘制菜单提供的工具:

  .Net Frame Work SDK为Visual Basic .Net实现个性化菜单提供了许多工具。其中最重要是二个事件及其参数:DrawItem事件和其中的DrawItemEventArgs参数,MeasureItem事件和其中的MeasureItemEventArgs参数。

  1. DrawItem事件和其中的DrawItemEventArgs参数:

  DrawItem事件是当菜单项的OwnerDraw属性设置为True并且发出绘制菜单项的请求时才发生。个性化菜单制作的处理方法就是在此事件中完成的。在DrawItem事件处理程序中将接收一个 DrawItemEventArgs类型的参数,它包含与此事件相关的数据,这些数据对绘制菜单是很重要的。表01是DrawItemEventArgs类型参数提供特定于此事件的信息。

 
   表01:DrawItemEventArgs类型参数提供DrawItem事件特定的信息

  2. MeasureItem事件和其中的MeasureItemEventArgs参数:

  触发MeasureItem事件必须将菜单项的OwnerDraw属性设置为True,个性化菜单制作可通过此事件来获取、设定菜单项的大小等。MeasureItem事件处理程序中接收一个MeasureItemEventArgs类型的参数,此参数对获取、设定菜单项的大小是非常重要的。表02是MeasureItemEventArgs类型参数提供MeasureItem事件的特定信息。

                                                           
    表02是MeasureItemEventArgs类型参数提供MeasureItem事件的特定信息

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/

32/3<123>

关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网