灯火互联
管理员
管理员
  • 注册日期2011-07-27
  • 发帖数41778
  • QQ
  • 火币41290枚
  • 粉丝1086
  • 关注100
  • 终身成就奖
  • 最爱沙发
  • 忠实会员
  • 灌水天才奖
  • 贴图大师奖
  • 原创先锋奖
  • 特殊贡献奖
  • 宣传大使奖
  • 优秀斑竹奖
  • 社区明星
阅读:4348回复:0

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

楼主#
更多 发布于:2011-10-26 09:07
有如图一这样一个小程序,通过“菜单”下的色彩设置,可以将窗体的背景分别改为“红”、“绿”、“蓝”色,点击“菜单”下的“退出”,则自动退出程序。

图片:50_3710_9225c2c746df354.gif


图一
一、界面设置:
根据第一节学到的知识,我们制作一个如图二的菜单。

图片:50_3710_8e23435abf7bd24.gif


图二
需要注意的是,“菜单”为一级,“色彩设置”、“退出”为二级、“红色”、“绿色”、“蓝色”为三级菜单,根据图二中每行前面点的多少可以判断出来。
另外,不要忘记勾选“红”、“绿”、“蓝”三种色彩的菜单前的“复选”选项。
二、输入程序代码:
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 等条件语句进行判断。但它跟复选菜单不同的是,复选菜单常常只能多中选一,比如上面例子中,选择了“红色菜单”就不能选择“蓝色菜单”,等等。 记不清楚的朋友可以回头复习一下,此处不再赘述。

喜欢0 评分0
游客

返回顶部