当前位置:编程问答 > VB >

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 等条件语句进行判断。但它跟复选菜单不同的是,复选菜单常常只能多中选一,比如上面例子中,选择了“红色菜单”就不能选择“蓝色菜单”,等等。 记不清楚的朋友可以回头复习一下,此处不再赘述。

上一个:VB 神童教程第四章第三节——动态增减菜单
下一个:VB 神童教程第四章第一节——菜单界面设计

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,