您的位置:首页资讯编程开发 → VB 神童教程第二章第五节——单选与复选控件

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

时间:2004/10/15 2:46:00来源:本站整理作者:蓝点我要评论(0)

    在 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 ,只是条件判断方法的一种,以后我们还会学到其他的方法。

相关阅读 Windows错误代码大全 Windows错误代码查询激活windows有什么用Mac QQ和Windows QQ聊天记录怎么合并 Mac QQ和Windows QQ聊天记录Windows 10自动更新怎么关闭 如何关闭Windows 10自动更新windows 10 rs4快速预览版17017下载错误问题Win10秋季创意者更新16291更新了什么 win10 16291更新内容windows10秋季创意者更新时间 windows10秋季创意者更新内容kb3150513补丁更新了什么 Windows 10补丁kb3150513是什么

文章评论
发表评论

热门文章 没有查询到任何记录。

最新文章 编程语言排行榜2020年android studio怎么删 eclipse怎么设置编码格式 eclipse设置编码格andriod studio如何使用真机测试 andriod sandroid studio怎么生成apk android studioandroid studio如何导入jar包 android stud

人气排行 安卓模拟器BlueStacks安装使用教程编程语言排行榜2020年9月 TIOBE编程语言排行eclipse字体大小怎么设置 eclipse字体大小plsql developer怎么连接数据库 plsql deveTomcat9.0安装教程 Tomcat9.0环境变量配置方plsql developer怎么使用 plsql developerVisual Studio 2015环境搭建教程Eclipse优化设置教程 Eclipse优化设置技巧