动态增减菜单:
我们在上一节示例的基础上,来制作如图一的小程序,每点击一次“增加信息”命令,菜单上会自动增加一个“信息”菜单,每点击一次“清除菜单”命令,程序自动清除当前信息菜单;当菜单回复原样,即只剩“信息”菜单时,“清除菜单”无效。
一、界面设置:
在第二节最终结果的基础上,创建如图一的界面,需要注意的是,“信息”菜单(MenuHint)必须在前面的“索引”框中填入数字 0
在程序中,只要在“索引”文本中输入了数字,就代表这个菜单成为了一个“菜单数组”,通过这个“菜单数组”可以实现菜单的动态增加与清除。
二、程序代码:
1、为“信息菜单”指定变量:
对于增加或清除菜单命令,我们可以这样看:原始的“信息菜单”为 MenuHint(0) ,这也是索引值为 0 的意义所在;那么增加的一个信息菜单就应该为 MenuHint(1),再增加一个,就应该为 MenuHint(2),依此类推;清除一个信息菜单也类似,如果当前是 MenuHint(X),那么清除一个后应该为 MenuHint(X-1),依此类推。
指定索引值为 HintNumber ,那么增加时,应该是 HintNumber = HintNumber + 1 ;清除时,应该是 HintNumber = HintNumber -1 。
2、变量的作用域:
一个变量的作用域倒底有多大?这得由变量的类型来决定。当一个变量只在某一个过程或事件(如某个按钮的单击事件)中起作用,那么它就是局部变量,可以在事件中直接定义;当一个变量可以在整个窗体内供使用,那么它可能是窗体层变量或全局变量,凡是在这个窗体上的事件都可以对这个变量进行引用,这种变量只能在“通用”过程中进行“声明”。
因为 HintNumber 既要在“增加菜单”事件中引用,又要在“清除菜单”事件中引用,所以我们将它作为窗体层变量在“通用”过程的“声明”中对其进行定义
代码如下:
Dim HintNumber As Integer
3、在窗体的载入事件中让 HintNumber 为初始值 0 ,再加上原来的代码
4、“增加信息”菜单的 Click 事件:
Private Sub MenuAdd_Click()
HintNumber = HintNumber + 1
Load MenuHint(HintNumber)
MenuHint(HintNumber).Caption = "信息" & HintNumber
End Sub
上面程序的意义在于,先计算 HintNumber + 1 并将结果赋给新的 HintNumber ,然后通过 Load 命令打开一个新菜单 MenuHint(HintNumber) ,并让新菜单的标题变成“信息X”,其中,X是数字,表示这是第几个信息菜单。
5、“清除信息”菜单的 Click 事件:
Private Sub MenuClear_Click()
If HintNumber = 0 Then
Exit Sub
Else
Unload MenuHint(HintNumber)
HintNumber = HintNumber - 1
End If
End Sub
上面的代码,先对 HintNumber 值进行判断,当 HintNumber 为 0 即程序的初始状态时,直接退出当前过程(Exit Sub 是退出当前过程的命令,切记);如果 HintNumber 不为 0 ,那么卸载索引值最高的信息菜单,即 MenuHint(HintNumber) ,然后讲算 HintNumber -1 并将结果赋给新的 HintNumber ,并最后退出条件判断。
6、“清除信息”菜单的“有效性”:
如果程序处于初始状态,即“信息菜单”的索引值为 0 ,那么“清除信息”命令无效,否则有效。由于只有先点击“帮助菜单(MenuHelp)”才能弹出“清除信息菜单(MenuClear)”,所以可以在 MenuHelp 的点击事件中输入以下代码:
Private Sub MenuHelp_Click()
If HintNumber = 0 Then
MenuClear.Enabled = False
Else
MenuClear.Enabled = True
End If
End Sub
7、测试:
按键盘上的 F5 键,对程序进行最终的测试。
三、提醒:
本节最重要的是掌握诸如 HintNumber 这种辅助变量,它将鼠标的点击动作用数字的形式加以诠释,通过值的加减来完成菜单的动态增加与清除。
这种辅助变量的使用,在 VB 中几乎是无处不在的,如前面我们在讲 For……Next……的语法时说的作为累加器的变量。
另外,从上面的例子我们可以看出, Load/Unload 不仅适用于窗体的装入与卸载,同时还适用于菜单的装入与卸载。
相关视频
相关阅读 明日之后隐藏菜单有哪些 隐藏食谱配方一览excel如何设置下拉菜单颜色 excel设置下拉菜单颜色方法爆炒江湖菜单架怎么获取 爆炒江湖菜单架获取方法详解wps菜单栏隐藏了怎么还原 wps工具栏自动隐藏恢复方法U深度一键还原精灵启动菜单模式使用教程右键菜单在左边更改方法右键菜单在鼠标箭头左侧的解决方法Start8 Win8.1开始菜单设置教程
热门文章 没有查询到任何记录。
最新文章
ADO在vb.net中的使用和
vb script基本的窗体操作多文档程序Visualasic概念Visualasic概述
人气排行 ADO在vb.net中的使用和方法VB基础教程(字符串运算符)第三章(2)VB VC混合编程疑难问题解VB基础教程(常用控件)第二章(3)教你如何用VB.net连接数据库VB基础教程( 程序调试 )第四章(4)VB基础教程(创建窗体)第二章(2)VB基础教程(Visual Basic概述)第一章(1)
查看所有0条评论>>