- 关 键 词:
- visual basic
- windows
- vb.net
- 快捷键
QQRead:http://www.qqread.com/vbdotnet/i572209000.html三.使用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中的下拉菜单:
9. 用下列代码替换Form1.vb中的Button2的Click事件对应的处理代码,下拉代码的作用是动态创建图05中的弹出菜单:
10. 至此【动态创建菜单】项目的全部工作就完成了,单击快捷键“F5”运行程序,单击程序中的【创建下拉菜单】按钮,则创建出图04所示的下拉菜单;单击程序中的【创建弹出菜单】,则动态创建出图05所示的弹出菜单。
如果您要创建的菜单中的菜单项还有子菜单,可以根据菜单项中的父子关系,把子菜单项加入到父菜单项,然后再把父菜单项加入上一级的菜单项或MainMenu和ContextMenu实例中,下面代码作用是创建图06所示的下拉菜单,如果是弹出菜单,其做法类似:
更多内容请看Solaris基础知识入门、.NET移动与嵌入式技术、.NET开发手册专题,或进入讨论组讨论。
下面就利用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:动态创建存在子菜单的下拉菜单 |
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
相关专题
- Solaris基础知识入门 (4621篇文章)
- .NET移动与嵌入式技术 (5950篇文章)
- .NET开发手册 (5652篇文章)
- vb入门教程 (130篇文章)
- vb.net入门——OpenFileDialog 组件的使用 (75次浏览)
- vb.net入门——FontDialog 组件的使用 (52次浏览)
- vb.net入门——FolderBrowserDialog 组件的使 (45次浏览)
- vb.net入门——ColorDialog 组件的使用 (41次浏览)
- 用vb.net创建一个鼠标绘图程序 (39次浏览)
- vb.net入门——SaveFileDialog 组件的使用 (38次浏览)
- 在vb.net中用ado.net连接Access (25次浏览)
- VB.NET关于加密算法 (18次浏览)
- 用vb.net实现闹钟提醒程序 (9次浏览)
- vb.net GDI+入门——画笔、画刷和颜色 (3次浏览)




