VB 神童教程第四章第三节——动态增减菜单(2) 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……的语法时说的作为累加器的变量。