科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件VB.NET菜单设计初级入门

VB.NET菜单设计初级入门

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

本文的主要内容就是介绍使用此菜单设计器设计菜单的具体方法,以及个性化菜单的实现方法

作者:阿虎 来源:天极开发者网络 2007年11月9日

关键字:

  • 评论
  • 分享微博
  • 分享邮件
三.使用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:动态创建存在子菜单的下拉菜单
    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章