找回密码
 注册

QQ登录

只需一步,快速开始

宝峰科技 门户 程序设计 Basic Visual Basic 查看内容
宝塔服务器面板

VB 神童教程 第二章 第五节——单选与复选控件

2010-9-23 20:03| 发布者: admin| 查看: 1329| 评论: 0|来自: 互联网

摘要: 在 Visual Basic 中,单选与复选按钮控件主要作为选项提供给用户选择。不同的是,在一组选择按钮中,单选控件只能选择一个,其他单选控件自动变为未被选中状态;而在一组复选按钮中,可以选定任意数量的按钮。 一、单 ...

在 Visual Basic 中,单选与复选按钮控件主要作为选项提供给用户选择。不同的是,在一组选择按钮中,单选控件只能选择一个,其他单选控件自动变为未被选中状态;而在一组复选按钮中,可以选定任意数量的按钮。

一、单选控件(OptionButton)与复选控件(CheckBox)的主要属性:
单选控件默认名称为 OptionX(X为阿拉伯数字 1、2、3,等等),起名规则为 OptX(X为用户自定义名字,如 OptRed、OptArial,等等);复选控件默认名称为 CheckX(X为 1、2、3,等等),起名规则为 ChkX(X为用户自定义名字,如 ChkName、ChkRed ,等等)。

在 VB 操作界面中,单选控件与复选控件的图标如图一所示:


图一

以前讲到的大多数属性都适用于单选与复选控件,包括:Caption、Enabled、Font(FontBold、FontItalic、FontName,等等)、Name、Height ,等等,此处不再赘述。

Value 属性是单选与复选控件最主要的属性,但单选与复选控件的 Value 值有些微的差别。

单选控件:
选中时,Value 值为 True ;未被选中,Value 值为 False 。

复选控件:
选中时,Value 值为 1 ;未被选中,Value 值为 0 ;禁止对该按钮进行选择, Value 值为 2 。

请大家注意,单选控件与复选控件的 Value 值是不同的,而这是初学者最容易混淆的。

二、单选按钮与复选按钮的事件:
这两种控件最主要的事件是 Click 事件,当选中时,Value 值变为 True 或者 1 ,控件也自动变为选中状态。

三、单选按钮程序举例:
有如图二这样一个程序:


图二

文本框(TxtContent)显示预设的字样;单选按钮一(OptArial),单击此按钮可以将文本框里显示的字样改变成 Arial 字体;单选按钮二(OptModern),单击此按钮能将文本框里显示的字样改变成 Modern 字体。

1、单选按钮一:
Private Sub OptArial_Click()
TxtContent.FontName = "Arial"
End Sub

2、单选按钮二:
Private Sub OptModern_Click()
TxtContent.FontName = "Modern"
End Sub

四、复选按钮的判断过程:
复选按钮的使用跟单选按钮相似,但由于一次可以选择多个复选按钮,所以复选按钮的选择比单选按钮多了一个判断过程。

这个判断过程在 VB 中可以用 If···Then···ElseIf···End If 语句完成。

If···Then···ElseIf···End If 是 VB 中的块结构条件语句,主要用来针对不同的情况,让应用程序做出不同的反应。

语句功能如下:

If 假设情况一 Then
  假设情况一成立时执行的语句块一
[ElseIF 假设情况二 Then
  假设情况二成立时执行的语句块二]
[ElseIf 假设情况三 Then
  假设情况三成立时执行的语句块三]
······
[Else
  所有条件都不成立时要执行的语句块]
End If

上面的语句块含义为:如果“情况一”成立,则执行“语句块一”;否则如果“情况二”成立,则执行“语句块二”······;如果所有情况都不成立,则执行 Else 之后的语句块并最后跳出判断过程。

例:
假设输入学生成绩(Score),如果分数小于 60 ,标签(LblShow)显示“成绩不及格”;如果分数大于 90 ,标签显示“成绩优秀”;如果分数介于两者之间,标签显示“成绩优良”。

If Score < 60 Then
  LblShow.Caption = "成绩不及格"
ElseIf Score > 90 Then
  LblShow.Caption = "成绩优秀"
Else
  LblShow.Caption = "成绩优良"
End If

有几点必须加以注意:
(1)、在上面的语句块中,ElseIf 之间没有空格,如果有空格即 Else If ,块结构则不成立。Else If 这种形式只能在单行结构条件语句中成立,而不能在块结构条件中成立。

(2)、执行语句块的程序代码不能紧跟 Then ,必须放到下一行中,这是块状结构的规定。

(3)、在块结构判断语句中,ElseIf 子句的数量没有限制,可以根据需要加入任意多个 ElseIf 子句。

(4)、ElseIf 与 Else 都是可选的,最简单的判断语句块形式如下:

If 条件 Then
  要执行的语句块
End If

如:If Score < 60 Then
    LblShow.Caption = "成绩不及格"
  End If

(5)、块结构语句必须以 If 开始,以 End If 结束。

五、复选按钮举例:
上面我们学习了复选按钮的判断过程,现在进入实例学习。 有如图三这样一个应用程序:


图三

文本框(TxtContent)显示预设的字样;复选按钮一(ChkBold)可以将文本框里面的字变为粗体;复选按钮二(ChkItalic)可以将文本框里面的字变为斜体;复选按钮三(ChkUnderline)可以给文本框里面的文字加上下划线。

复选按钮一:
Private Sub ChkBold_Click()
 If ChkBold.Value = 1 Then
  TxtContent.FontBold = True
 Else
  TxtContent.FontBold = False
End Sub

复选按钮二:
Private Sub ChkItalic_Click()
 If ChkItalic.Value = 1 Then
  TxtContent.FontItalic = True
 Else
  TxtContent.FontItalic = False
End Sub

复选按钮三:
Private Sub ChkUnderline_Click()
 If ChkUnderline.Value = 1 Then
  TxtContent.FontUnderline = True
 Else
  TxtContent.FontUnderline = False
End Sub

联想
复选按钮是不是非得经过这种选择判断?能不能如单选按钮那样直接使用呢?这是许多初学者,包括笔者自己,曾经感到疑惑的地方。(虽然现在看来它们的区别是如此之大)

还是上面这个例子,假设复选按钮一不经过判断,而直接在点击事件中输入代码:
Private Sub ChkBold_Click()
  TxtContent.FontBold = True
End Sub

那么你会发现,复选按钮一经点击就不能取消字体加粗的效果了;而实际上,复选按钮一的功能是,点击一次即选中时,字体加粗;点击第二次即取消选择,字体不再加粗;以此类推。

六:知识点:
1、切记,单选按钮与复选按钮的 Value 值是不同的。

单选按钮:
选中时,Value 值为 True ;未被选中时,Value 值为 False 。

复选按钮:
选中时,Value 值为 1 ;未被选中时,Value 值为 0 ;禁止选择,Value 值为 2 。

你可以试验一下,将复选按钮的 Value 值分别用 True/False 代替,看一下会出现什么问题。

2、两种选择按钮都针对 Click 事件做出反应,但单选按钮比较简单,只需直接输入代码即可;复选按钮比较复杂,需经过条件判断后再做出反应。切记!

3、 If···Then···ElseIf···End If ,只是条件判断方法的一种,以后我们还会学到其他的方法。


路过

雷人

握手

鲜花

鸡蛋

相关阅读

免责声明

本站中所有被研究的素材与信息全部来源于互联网,版权争议与本站无关。本站所发布的任何软件编程开发或软件的逆向分析文章、逆向分析视频、补丁、注册机和注册信息,仅限用于学习和研究软件安全的目的。全体用户必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。学习编程开发技术或逆向分析技术是为了更好的完善软件可能存在的不安全因素,提升软件安全意识。所以您如果喜欢某程序,请购买注册正版软件,获得正版优质服务!不得将上述内容私自传播、销售或者用于商业用途!否则,一切后果请用户自负!

QQ|Archiver|手机版|小黑屋|联系我们|宝峰科技 ( 滇ICP备09007156号-2|53050202000040 )

Copyright © 2001-2023 Discuz! Team. GMT+8, 2025-9-4 16:48 , Processed in 0.085636 second(s), 10 queries , File On Powered by Discuz! X3.59© 2001-2025 Discuz! Team.

返回顶部