VB 神童教程第四章第二节——综合示例七

有如图一这样一个小程序,通过“菜单”下的色彩设置,可以将窗体的背景分别改为“红”、“绿”、“蓝”色,点击“菜单”下的“退出”,则自动退出程序。



图一



一、界面设置:


根据第一节学到的知识,我们制作一个如图二的菜单。



图二



需要注意的是,“菜单”为一级,“色彩设置”、“退出”为二级、“红色”、“绿色”、“蓝色”为三级菜单,根据图二中每行前面点的多少可以判断出来。


另外,不要忘记勾选“红”、“绿”、“蓝”三种色彩的菜单前的“复选”选项。


二、输入程序代码:


1、退出菜单:


在 VB 中,End 是专门用来退出程序的命令,因此,我们在“退出菜单”中输入如下代码:


Private Sub MenuQuit_Click()


End


End Sub


这样,只要点击本菜单,自动退出程序。


2、复选菜单的判断:


在 VB 中,可以用如下语法对复选菜单进行判断:


复选菜单名.Checked = True/False


当值为 True ,复选菜单被选中;值为 False ,菜单未被选中。


3、我们要让程序在初始状态下保持本色,在 Form 的装入事件中输入以下代码:


Private Sub Form_Load()


MenuRed.Checked = False


MenuGreen.Checked = False


MenuBlue.Checked = False


End Sub


这段程序,让三个复选菜单都处于未被选中状态(在程序运行时起作用,在设计过程中,三个复选菜单始终是处于选中状态)。


4、当按下红色菜单(MenuRed):


Private Sub MenuRed_Click()


MenuRed.Checked = True


MenuGreen.Checked = False


MenuBlue.Checked = False


Form1.BackColor = vbRed


End Sub


这段代码,让“红色菜单”处于选中状态,而其他颜色的菜单处于未被选中状态,同时将窗体的背景色变为红色(VbRed)。


5、当按下绿色菜单(MenuGreen):


Private Sub MenuGreen_Click()


MenuRed.Checked = False


MenuGreen.Checked = True


MenuBlue.Checked = False


Form1.BackColor = vbGreen


End Sub


绿色菜单处于选中状态,其他菜单非选中,同时窗体背景色变为绿色。


6、按下蓝色菜单:


Private Sub MenuBlue_Click()


MenuRed.Checked = False


MenuGreen.Checked = False


MenuBlue.Checked = True


Form1.BackColor = vbBlue


End Sub


蓝色菜单处于选中状态,其他菜单非选中,同时窗体背景变为蓝色。


7、最后按 F5 键,如何,程序正常运行了吧?


三、联想:


本节我们讲到复选菜单是如何对选中进行判断的,那就是看 Checked 值是否为 True 。


前面我们学过单选按钮(OptionBUtton)、复选按钮(CheckBox),它们也有是否被选中的判断,那么,它们有什么不同呢?


注意,单选按钮是否选中的判断:


单选按钮名.Value = True/False 。由于单选按钮只能二选一或多选一,所以往往不需判断,只需响应 Click 事件就行了。


复选按钮的判断:


复选按钮名.Value = 0/1/2 。由于复选按钮可以一次多选,所以对它的判断最为复杂,常常需要用到诸如 If……Then 等条件语句进行判断。但它跟复选菜单不同的是,复选菜单常常只能多中选一,比如上面例子中,选择了“红色菜单”就不能选择“蓝色菜单”,等等。 记不清楚的朋友可以回头复习一下,此处不再赘述。