第四章 常用控件 一、教学内容 本章讨论Visual Basic中最常见的一些控件,如清单类控件,单选框和复选按钮,列表框、组合框,图像类控件,如图片框和图像框、计时器、滚动条等。 二、目的要求 1.熟悉复选框、单选框,学会使用复选框单选框编写程序; 2.熟悉图片框、图像框的使用方法; 3.熟悉列表框、组合框; 4.计时器、滚动条。 三、教学重点与难点 教学重点:单选框、复选框、列表框。 教学难点:组合框。 四、教学方法 多媒体教学为主。适当提问,加深学生对概念的理解。 本章12课时。 第一讲 单选框和复选框(2学时) 一、教学内容 单选框和复选框。 二、目的要求 熟悉单选框、复选框的常见属性、方法和事件。 三、教学重点与难点 教学重点:单选框、复选框的属性、方法、事件。 教学难点:事件。 四、教学方法 多媒体教学。 五、教学过程 4.1 清单类按控件 4.1.1 单选框和复选框 单选框:顾名思义,就是几个单选框只能选取一个。如果需要多选,应该将单选框分组进行,此时要用到Frame框架; 复选框:可以用于多选多。多个选项之间互不影响。 单选框和复选框如图4-1。  图4-1 左边是单选框,右边是复选框 单选框 单选框常见的属性: Caption:单选框的标题; Name:单选框的名称; Value:单选框被选中的时候Value值为True,不被选中的时候Value值为False。是单选框最重要的属性; Enabled:单选框是否有效,值为True时表示单选框有效,值为False表示单选框无效; BackColor和ForeColor:标题的背景颜色和前景颜色; 单选框的事件: Click:只要单选框的Value值从False 变为True就发生Click事件。 2.复选框最常见的属性: Name属性、Caption属性、ForeColor属性、BackColor属性、Visible属性、Enabled属性等与单选框类似。 Value:属性值为1时表示选定了复选框,此时,复选框中有勾,值为0时,表示未选中复选框,此时复选框中没有勾。值为2时表示复选框暂时无效; 复选框的事件: Click事件:复选框的Value值发生改变就发生Click事件, 六、小结 单选框和复选框的Click事件是需要理解的重点,很容易出错。单选框和复选框的Value属性最重要,学生们一定要掌握。 七、作业 第二讲之后布置。 第二讲 Frame 和使用单选框、复选框编写程序(2学时) 一、教学内容 使用单选框和复选框的编程。 二、目的要求 会使用单选框复选框编写程序。 三、教学重点与难点 教学重点:使用这两个控件编写程序。 教学难点:使用这两个控件编写程序。 四、教学方法 多媒体教学。 五、教学过程 4.1.2 Frame控件 Frame控件用于将单选框分组,这样就可以在多个单选框中选择多个选项了。Frame还用于美观界面。 Frame属性有Caption属性、Font类属性等等。 程序举例: 本程序是一个字体设置的程序,该程序用到单选框、复选框和框架。 I.设计界面 在窗体中添加单选框若干、复选框若干、框架、标签等,界面如图4-2所示。  图4-2 程序界面 II.设置属性 设置属性,设置各个控件的Caption属性,设置属性后的界面如图4-3所示。  图4-3设置属性后的界面 III.编写代码 编写代码如下: Private Sub Form_Load() Option1.Value = True Option3.Value = True Label1.FontSize = 10 Label1.ForeColor = vbRed End Sub Private Sub Check1_Click() If Check1.Value = 1 Then Label1.FontBold = True Else Label1.FontBold = False End If End Sub Private Sub Check2_Click() If Check2.Value = 1 Then Label1.FontItalic = True Else Label1.FontItalic = False End If End Sub Private Sub Option1_Click() Label1.FontSize = 10 End Sub Private Sub Option2_Click() Label1.FontSize = 20 End Sub Private Sub Option3_Click() Label1.ForeColor = vbRed End Sub Private Sub Option4_Click() Label1.ForeColor = vbGreen End Sub IV.保存程序 保存程序。 V.运行程序 运行程序,界面如图4-4。  图4-4 程序运行结果 六、小结 学会使用Frame、Option、CheckBox编写程序。 五、作业 P111 4.2 第三讲 列表框和组合框(2学时) 一、教学内容 列表框的属性、方法和事件; 组合框的属性、方法和事件。 二、目的要求 会使用列表框编写程序; 会使用组合框编写程序。 三、教学重点与难点 教学重点:列表框。 教学难点:组合框。 四、教学方法 多媒体教学。 五、教学过程 4.1.3 列表框和组合框 1.列表框 列表框ListBox是将所有的清单以列表方式显示出来,以便用户加以选择。除了以前介绍的属性Font类属性、Name属性等属性外,列表框List还有如下一些常见的属性: Columns:设置列表框是否以多栏方式显示选项,值为0时表示以1栏方式显示选项,如果有滚动条,则一定是垂直的滚动条;值为n(n>=1)时,表示以多栏方式显示选项,如果有滚动条,则滚动条是水平的; List:列表框中的项,它是数组形式的,格式:列表框对象.List(i),i是项的序号,如List1.List(0)表示列表框中的第0项,List1.List(n)表示列表框中的第n+1项; ListIndex:表示选定的项的序号,值为-1时,表示未选定任何项,值为n(n>=0)时,表示选定了第n+1项; MulitiSelect:是否可以多选,值为0时表示可以仅可以选择一项,值为1时表示简单多重选择,值为2时可以进行扩充多项选择; Selected:用来判断某项是否被选定,格式:列表框对象.Selected(i),i是选项的序号,如List1.Selected(2)=True则表示第3项被选定,而List1.Selected(4)=False则表示第5项未被选定; 列表框的方法: AddItem:为列表框添加项,格式:列表框对象.AddItem(项),如List1.AddItem("武汉" ); RemoveItem:从列表框中删除某项,格式:列表框对象.RemoveItem(i),i是要删除项的序号,如:List1.RemoveItem(3)表示从列表框List1中删除第4项; Clear:清除列表框的所有项,如:List1.Clear。 组合框 组合框有列表框和文本框的一些属性。这里只介绍一个属性。 Style:组合框的样式。有0、1、2三个值,如图4-5所示。  图4-5 组合框的Style属性 组合框的事件: Change事件:文本框中的内容改变触发该事件; DropDown事件:点击下拉的箭头触发该事件; Click事件:单击选择某项触发该事件。 六、小结 组合框是难点,组合框的样式和事件,是学生最难掌握的。 七、作业 下一次课后布置 第四讲 列表框和组合框编程(2学时) 一、教学内容 使用列表框、组合框编写程序。 二、目的要求 通过本次课的程序介绍,学生应该学会使用列表框、组合框编写程序。 三、教学重点与难点 教学重点和难点:列表框和组合框的编程。 四、教学方法 多媒体教学。 五、教学过程 程序举例1,下面程序用到列表框: I.设计界面 在窗体中添加列表框List1和List2,添加命令按钮Command1和Command2,添加标签Lable1和Lable2。界面如图4-5所示。  图4-5 程序界面 II.设置属性 设置属性,设置各个控件的属性(省略),设置属性后的界面如图4-6所示。  图4-6设置属性后的界面 III.编写代码,如下: Private Sub Form_Load() List1.AddItem ("武汉") List1.AddItem ("北京") List1.AddItem ("广州") List1.AddItem ("南京") List1.AddItem ("长沙") List1.AddItem ("荆州") List1.AddItem ("沙市") End Sub Private Sub Command1_Click() If List1.ListIndex > -1 Then List2.AddItem List1.List(List1.ListIndex) List1.RemoveItem (List1.ListIndex) End If End Sub Private Sub Command2_Click() For i = 0 To List1.ListCount - 1 List2.AddItem List1.List(i) Next i List1.Clear End Sub 程序举例2,下面程序用到组合框: I.设计界面 在窗体中添加列表框List1和List2,添加命令按钮Command1和Command2,添加标签Lable1和Lable2。界面如图4-7所示。  图4-7 程序界面 II.设置属性 设置属性,设置各个控件的属性(省略),设置属性后的界面如图4-8所示。  图4-8设置属性后的界面 III.编写代码,如下: Private Sub Form_Load() Combo1.AddItem ("红色") Combo1.AddItem ("绿色") Combo1.AddItem ("蓝色") Combo1.AddItem ("黄色") End Sub Private Sub Combo1_Click() If Combo1.Text = "红色" Then Form1.BackColor = vbRed End If If Combo1.Text = "绿色" Then Form1.BackColor = vbGreen End If If Combo1.Text = "蓝色" Then Form1.BackColor = vbBlue End If If Combo1.Text = "黄色" Then Form1.BackColor = vbYellow End If End Sub IV.保存程序 保存程序。 V.运行程序 运行程序。运行程序界面如图4-9所示。  图4-9 程序运行界面 六、小结 1.列表框的属性、方法、事件和使用方法。 2.组合框的属性、方法、事件和使用方法。 七、作业 P112 4.3。 第五讲 图片类控件(2学时) 一、教学内容 图片框、图像框。 二、目的要求 通过本次课的程序介绍,学生应该学会使用图片框、图像框编写程序。 三、教学重点与难点 教学重点和难点:图片框和列表框。 四、教学方法 多媒体教学。 五、教学过程 4.2.1 图像框(ImageBox) 图像框可以用来显示一幅图片,图像框比图片框(PictureBox)占据的内存要小,图像框有Stretch属性,用于设置拉伸,值为True时,图形会根据图像框大小自动拉伸或者压缩,值为False时,图像框会自动调节大小以适应图像的大小。 图像框的主要属性有: Picture:在图像框中显示的图片,加载图片使用方法LoadPicture,如: Image1.Picture=LoadPicture("D:\aa.jpg "); Stretch:用于设置图像是否拉伸,值为True时,图形会根据图像框大小自动拉伸或者压缩,值为False时,图像框会自动调节大小以适应图像的大小。关于Stretch属性如图4-10所示。  图4-10 Stretch属性 4.2.2 图片框(PictureBox) 图片框用于显示一幅图片,图片框的功能比图像框强大,它既可以显示图片,还可以做为容器。 图片框的主要属性有: Picture:该属性的用法与Image的Picture属性的用法一样; Autosize:值为True时,图片框自动调节大小与图像大小适应,值为False 时,如果图片太大,则仅可以看见图片左上角一部分,如果图片太小则图片框很多地方是空白的,图片本身不会自动拉伸和压缩。关于Autosize如图4-11所示。  图4-11 Autosize属性 第六讲 计时器和滚动条(2学时) 一、教学内容 计时器和滚动条。 二、目的要求 通过本次课的学习,学生应该学会使用计时器和滚动条编写程序。 三、教学重点与难点 教学重点:计时器和滚动条。 四、教学方法 多媒体教学。 五、教学过程 4.3 计时器 计时器是利用系统内部时间计时的,它根据用户定制的时间间隔Interval来执行Timer事件过程,也就是每隔Interval毫秒执行一次Timer 事件过程。 计时器的数要属性有: Interval:单位毫秒,计时器每隔Interval毫秒执行一次Timer事件过程。值为0时,相当于关闭计时器; Enabled:计时器是否有效,值为True时,计时器有效,值为False时计时器无效。 计时器的事件有: Timer:计时器每隔Interval毫秒要执行的过程。 程序举例: 程序动态显示当前的时间: I.设计界面 在窗体中计时器、命令按钮和标签,界面如图4-12所示。  图4-12 程序界面 II.设置属性 设置属性,设置各个控件的属性(省略),设置属性后的界面如图4-13所示。  图4-13设置属性后的界面 III.编写代码,如下: Private Sub Command1_Click() Timer1.Enabled = True End Sub Private Sub Timer1_Timer() Label1.Caption = Time End Sub IV.保存程序 保存程序。 V.运行程序 运行程序。运行程序界面如图4-14所示。  图4-14 程序运行的界面   4.4 滚动条 滚动条通常作为数据输入的工具,或者作为速度、数量的指示器。滚动条分为水平滚动条和垂直滚动条,如图4-15所示就是滚动条。  图4-15 滚动条 滚动条的主要属性有: Value:滚动条的值,也就是滚动条的当前位置,它的取值范围在Min和Max 之间; Min:滚动条可以取的最小值; Max:滚动条可以取的最大值; LargeChange:单击滚动条的滑块和滚动条的箭头之间的区域时,滚动条值改变的大小; SmallChange:单击滚动条滑块时,滚动条值的改变的量。 滚动条的事件: Change:改变滚动条的Value值,触发该事件; Scroll:拖动滚动条的滑块触发该事件。 程序举例:下面的程序使用滚动条来改变窗体的颜色 I.设计界面 在窗体中添加标签Lable1、Lable2和Lable3,添加Hscroll1、Hscroll2和Hscrll3。界面如图4-16所示。  图4-16 程序界面 II.设置属性 设置属性,设置各个控件的属性(省略),设置属性后的界面如图4-17所示。  图4-17设置属性后的界面 III.编写代码,如下: Private Sub HScroll1_Change() Form1.BackColor = RGB(HScroll1.Value, HScroll2.Value, HScroll3.Value) End Sub Private Sub HScroll2_Change() Form1.BackColor = RGB(HScroll1.Value, HScroll2.Value, HScroll3.Value) End Sub Private Sub HScroll3_Change() Form1.BackColor = RGB(HScroll1.Value, HScroll2.Value, HScroll3.Value) End Sub IV.保存程序 保存程序。 V.运行程序,如图4-18所示。 运行程序。  图4-18 程序界面 六、小结 1.计时器控件的使用。 2.滚动条的使用方法。 七、作业 P112 4.4、4.5、4.6