工具软件   办公软件   操作系统   网络安全   设计在线   程序开发   教程宝典   软件下载   软件论坛
您的位置:软件 > 开发者网络 > 微软开发专栏 > Visual Studio.net专栏 > VB.net > 正文
VB.NET菜单设计初级入门
[文章信息]
作者:阿虎
时间:2004-06-21
出处:天极开发者网络
责任编辑:方舟
[文章导读]
本文的主要内容就是介绍使用此菜单设计器设计菜单的具体方法,以及个性化菜单的实现方法
advertisement
热点推荐
· 在VB6中用命令行为模式控制GUI动作
· Excel图表向导详解
· 浅析各种计算机病毒应对方法
· 2月16日软件精选 春节文章精彩回顾
· 轻松玩转Excel数据图表
[正文]

上一页  1 2 3 4 5  下一页

  三.使用MainMenu类、MenuItem类和ContextMenu类动态创建菜单:

  下面就利用mainMenu类、MenuItem类和ContextMenu类动态创建图05所示的由菜单设计器设计出的菜单,其中包括下拉菜单和弹出菜单。下面是具体步骤:

  1. 启动Visual Studio .Net。

  2. 选择菜单【文件】|【新建】|【项目】后,弹出【新建项目】对话框。

  3. 将【项目类型】设置为【Visual Basic项目】。

  4. 将【模板】设置为【Windows应用程序】。

  5. 在【名称】文本框中输入【动态创建菜单】。

  6. 在【位置】的文本框中输入【E:\VS.NET项目】,然后单击【确定】按钮,这样在“E:\VS.NET项目”目录中就产生了名称为“动态创建菜单”的文件夹,并在里面创建了名称为“动态创建菜单”的项目文件。

  7. 把Visual Studio .Net的当前窗口切换到【Form1.vb(设计)】窗口,并从【工具箱】中的【Windows窗体组件】选项卡中往Form1窗体中拖入下列组件,并执行相应操作:

  二个Button组件,名称分别为Button1和Button2,并在这二个组件拖入窗体后,分别设定这二个组件的“Text”属性值为“创建下拉菜单”和“创建弹出菜单”。之后再分别双击,这样Visual Basic .Net会在Form1.vb中分别产生这二个组件的Click事件对应的处理代码。

  8. 把Visual Basic .Net的当前窗口切换到Form1.vb的代码编辑窗口,并用下拉代码替换Form1.vb中的Button1的Click事件对应的处理代码,下拉代码的作用是动态创建图05中的下拉菜单:

Private Sub Button1_Click ( ByVal sender As System.Object , ByVal e As System.EventArgs ) Handles Button1.Click
 Dim MainMenu1 As MainMenu = New MainMenu ( )
 '创建一个MainMenu实例
 Dim myMenuItem1 As MenuItem = New MenuItem ( )
 Dim myMenuItem2 As MenuItem = New MenuItem ( )
 Dim myMenuItem3 As MenuItem = New MenuItem ( )
 Dim myMenuItem4 As MenuItem = New MenuItem ( )
 myMenuItem1.Text = "文件(&F)"
 myMenuItem2.Text = "新建(&N)"
 myMenuItem3.Text = "-"
 myMenuItem4.Text = "打开(&O)"
 '创建四个MenuItem实例,并进行相应设置
 myMenuItem1.MenuItems.Add ( myMenuItem2 )
 myMenuItem1.MenuItems.Add ( myMenuItem3 )
 myMenuItem1.MenuItems.Add ( myMenuItem4 )
 '以myMenuItem1是myMenuItem2、myMenuItem3和myMenuItem4的父菜单项
 MainMenu1.MenuItems.Add ( myMenuItem1 )
 '在MainMenu实例中加入MainItem实例
 Me.Menu = MainMenu1
 '把MainMenu1指派给Form的的Menu属性,这样下拉菜单才能够显示
 Button1.Enabled = False
End Sub

  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所示的下拉菜单,如果是弹出菜单,其做法类似:

Dim MainMenu1 As MainMenu = New MainMenu ( )
'创建一个MainMenu实例
Dim myMenuItem1 As MenuItem = New MenuItem ( )
Dim myMenuItem2 As MenuItem = New MenuItem ( )
Dim myMenuItem3 As MenuItem = New MenuItem ( )
Dim myMenuItem4 As MenuItem = New MenuItem ( )
Dim myMenuItem5 As MenuItem = New MenuItem ( )
Dim myMenuItem6 As MenuItem = New MenuItem ( )
myMenuItem1.Text = "文件(&F)"
myMenuItem2.Text = "新建(&N)"
myMenuItem3.Text = "-"
myMenuItem4.Text = "打开(&O)"
myMenuItem5.Text = "新建项目"
myMenuItem6.Text = "新建文件"
'创建四个MenuItem实例,并进行相应设置
myMenuItem2.MenuItems.Add ( myMenuItem5 )
myMenuItem2.MenuItems.Add ( myMenuItem6 )
'myMenuItem2是myMenuItem5和myMenuItem6的父菜单项
myMenuItem1.MenuItems.Add(myMenuItem2)
myMenuItem1.MenuItems.Add ( myMenuItem3 )
myMenuItem1.MenuItems.Add ( myMenuItem4 )
'以myMenuItem1是myMenuItem2、myMenuItem3和myMenuItem4的父菜单项
MainMenu1.MenuItems.Add ( myMenuItem1 )
'在MainMenu实例中加入MainItem实例
Me.Menu = MainMenu1

'把MainMenu1指派给Form的的Menu属性,这样下拉菜单才能够显示


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


上一页  1 2 3 4 5  下一页

天极社区邀请您:写博客日记  上传相片   论坛聊天  订阅电子杂志  推荐网摘   免费图铃工具
笔名:   请您注意:

 遵守国家有关法律、法规,尊重网上道德,承担一切因您的行为而直接或间接引起的法律责任。

 天极网拥有管理笔名和留言的一切权利。
评论:
 
发表评论推荐给朋友我想参加相关培训打印我对此感兴趣订阅电子杂志
相关内容焦点新闻
  • VB.NET编程验证邮件地址的合法性
  • VB.NET中多窗体同步的解决方案
  • VB.NET时间日期数据处理及技巧
  • 实战Visual Basic.Net对话框
  • 深入浅出VB.NET提示对话框
  • VB.Net编程入门之Hello World
  • DataSet中的数据并发性异常
  • 国信办督战八大行业灾难备份 将出台国家标准
  • 中国IT企业走进欧盟 搭第六框架计划直通车
  • 美邦银行用户注意 警惕新型“钓鱼”邮件
  • 微软三年时间磨出新IE 具有更强大安全性能
  • 高清碟机标准打内战 HDV将状告EVD恶性竞争
  • 正版网上银行为何不安全 客户泄密银行无责任
  • 惠普铁娘子悲壮退场 未能成功扮演拯救者
  • 网上乱用人民币图样是违规行为 最高罚3万
  • Advertisement