收藏 分享(赏)

VisualBasic第6章常用控件PPT课件.ppt

上传人:Facebook 文档编号:3835075 上传时间:2018-11-20 格式:PPT 页数:55 大小:472.50KB
下载 相关 举报
VisualBasic第6章常用控件PPT课件.ppt_第1页
第1页 / 共55页
VisualBasic第6章常用控件PPT课件.ppt_第2页
第2页 / 共55页
VisualBasic第6章常用控件PPT课件.ppt_第3页
第3页 / 共55页
VisualBasic第6章常用控件PPT课件.ppt_第4页
第4页 / 共55页
VisualBasic第6章常用控件PPT课件.ppt_第5页
第5页 / 共55页
点击查看更多>>
资源描述

1、第6章 常用控件,本章内容及要求:掌握常用控件单选钮(OptionButton)、检查框(CheckBox)、 框架(Frame)、滚动条(ScrollBar)、 列表框(ListBox)、组合框(ComboBox)、时钟(Timer)等的常用、 属性、重要事件和方法的使用;,6.1文本框,文本框(TextBox)是一个文本编辑区域,可以在该区域输入、编辑、修改和显示正文内容,即可以创建一个文本编辑器,1. 文本框的简单使用 例6.1.1 设计一个程序,由用户从键盘上输入两个数,然后再选择对它们求和或进行减法运算,并将结果显示出来。,文本框常用属性事件方法,(1)TabIndex属性来控制当T

2、ab键改变焦点时的移动顺序。 (2) TabStop属性使某个文本框轮空 (3)Enabled属性使控件不可用 (4)MaxLength属性设置可输入的最大字符数,系统缺省值为0,表示字符输入的个数没有限制。 (5)MulitiLine属性 是否多行,若是则够一行后自动换行 (6)ToolTipText属性设置提示信息 (7) PasswordChar的缺省值为空,此时用户在文本框中输入什么,就显示什么。若被设置为某一个字符,则输入时只显示该字符 (8)字体属性,(9)ScrollBars属性设置是否加上滚动条,0不加滚动条,它是缺省值;1只加上水平滚动条,当加入水平滚动条后,文本框的自动换行

3、功能便消失了;2只加入垂直滚动条;3加入水平和垂直滚动条 (10) SetFocus方法设置焦点 (11) Change事件:当改变文本框内容时触发 (12) KeyPress 事件:,例2 :change与keypress事件 窗体上画3个文本框和一个命令按钮。程序运行时,用户在第一个文本框内输入一行文字时,在另外两个文本框中同时显示出相同的内容,但显示的字体大小不同。最多只能输入20个字符。,例3:把例2修改一下,要求文本框1只能输入大写字母,在文本框2中显示相应的ASCII值,在文本框3中显示相应的小写字母,例 4:事先设定密码为“apple”,要求用户在文本框中输入最多6位密码,然后单

4、击“验证密码”命令按钮,程序将核对用户输入的密码与事先设定的是否一致,如一致则继续执行其他功能,否则输出警告信息, 提示用户重新输入或退出,标签框,标签框(Label)常用来为窗体上其他控件作标记,或显示输出的结果。 Alignment:指定标签框上显示信息的位置,0左对齐,1右对齐,2居中。 AutoSize:设置标签框的大小是否自动按标签中所显示内容的多少进行调整。 BorderStyle:设置标签框有无边框。 Caption:设置标签框中所要显示的内容。 Left:设置标签框与窗体左边界间的距离 名称:设置标签框的名字。 Top:设置标签框与窗体上边界之间的距离。 WordWrap:设置

5、标签框中所显示的内容是否能够自动折行。,6.2 命令按钮,Default属性及Cancel属性 Style属性 (1) 0:标准样式。 (2) 1:图形格式。 Picture属性:结合style属性使用 DownPicture属性:当控件被单击并处于按下状态时在控件中显示的图形 ,结合style属性使用 DisablePicture属性:当命令按钮禁止使用(即Enable属性被设置为False)时在按钮中显示该图形,6.2 单选钮、检查框及框架,1单选钮1. 用途单选钮(OptionButton)也称作选择按钮。一组单选钮控件可以提供一组彼此相互排斥的选项,任何时刻用户只能从中选择一个选项,实

6、现一种“单项选择”的功能,被选中项目左侧圆圈中会出现一黑点。,单选按钮,2. 重要属性 (1) Caption:文本标题。设置单选钮的文本注释内容。 (2) Alignment属性:0:Left Justify(缺省)控件钮在左边,标题显示在右边。1:Right Justify 控件钮在右边,标题显示在左边。 (3)Value 属性,True: 单选钮被选定 False: 单选钮未被选定(缺省设置),(4) Style 属性0-Standard: 标准方式 1-Graphical:图形方式,说 明: 在Style属性设置为1时,可使用 Picture 属性(未选定时的图标或位图)、DownPi

7、cture属性( 选定时的图标或位图)、DisabledPicture属性(禁止选择时的图标或位图),3. 方法SetFocus方法可以将Value属性设置为True。与命令按钮相同,使用该方法之前,必须要保证单选钮处于可见和可用状态(即Visible与Enabled属性值均为True)。,4. 事件Click事件是单选钮控件最基本的事件,当用户单击单选钮时,它会自动改变状态。例1 单选钮示例,例1 设计一个程序,用户界面由四个单选按钮、一个标签和一个命令按钮组成,程序运行后,用户单击某个单选按钮,就可将它对应的内容(星期、日期、月份或年份)显示在标签框中。,Private Sub OptWe

8、ek_Click()W = Weekday(Now)If W = 1 ThenLabel1.Caption = “ 今天是星期日“ElseLabel1.Caption = “ 今天是星期“ + Str(W - 1)End If End Sub WeekDay是一个函数,WeekDay(Now)的值是一个数字字符,表示当天是星期几,如是星期三则此函数值为“4”,在标签框中显示出“今天是星期3”的信息。,Private Sub OptDay_Click() D$ = Day(Now) Label1.Caption = “今天是“ + D$ + “号“ End Sub 单击“月份”单选钮,则执行下面

9、的过程,其中Month是月份函数。 Private Sub OptMonth_Click() M$ = Month(Now) Label1.Caption = “这月是“ + M$ + “月份“ End Sub 单击“年份”单选钮,则执行下面的过程,其中Year是年份函数。 Private Sub OptYear_Click() Y$ = Year(Now) Label1.Caption = “今年是“ + Y$ + “年“ End Sub 这里,WeekDay、Day、Month、Year都是日期型函数,加入参数Now,表示当前星期、日期、月份、年份。 单击“结束”按钮时执行以下程序段: P

10、rivate Sub CmdEnd_Click() End End Sub,2 检查框,1. 用途检查框(CheckBox)也称作复选框、选择框。一组检查框控件可以提供多个选项,它们彼此独立工作,所以用户可以同时选择任意多个选项,实现一种“不定项选择”的功能。选择某一选项后,该控件将显示,而清除此选项后,消失。,2. 重要属性Caption、Alignment、Style与单选钮相同,检查框,检查框的Value 属性与单选按钮不同,其值为数值型数据,可取 0 , 1 , 2,检查框与单选按钮Value 属性的比较,方法 value每改变一次就会触发一次Click事件。,4. 事件Click事件

11、是检查框控件最基本的事件。对Value属性值的改变遵循以下规则: 单击未选中的检查框时,Value属性值变为1; 单击已选中的检查框时,Value属性值变为0; 单击变灰的检查框时,Value属性值变为0。,例2 设计一个程序,用户界面由一个标签框、一个文本框、三个检查框组成。程序开始运行后,用户在文本中输入一段文字,然后按需要单击各检查框,用以改变文本的字体、字形及大小。,Private Sub ChkFont_Click()If ChkFont.Value = 1 ThenTxtPassage.FontName = “楷体_GB2312“ElseTxtPassage.FontName =

12、“宋体“End If End Sub,Private Sub ChkItalic_Click() If ChkItalic.Value=1 Then TxtPassage.FontItalic=-1 Else TxtPassage.FontItalic=0 End If End Sub,Private Sub ChkSize_Click() If ChkSize.Value=1 Then TxtPassage .FontSize=16 Else TxtPassage.FontSize=8 End If End Sub,3 框架 (Frame),Frame 控件为控件提供可标识的分组。当需要在同

13、一窗体内建立几组互独立的单选钮时,就需要用框架将每一组单选钮框框起来,把 OptionButton 控件分成几组,如下形式。,框架内控件的创建方法:为了将控件分组,首先需要绘制 Frame 控件,然后绘制 Frame 里面的控件。这样就可以把框架和里面的控件同时移动。如果在 Frame 外部绘制了一个控件并试图把它移到框架内部,那么控件将在 Frame 的上部,这时需分别移动 Frame 和控件方法1:单击工具箱上的工具,然后用出现的“+”指针,在框架中适当位置拖拉出适当大小的控件。不能使用双击工具箱上工具的自动方式。方法2:将控件“剪切”(Ctrl+X)到剪贴板,然后选中框架,使用 (Ctr

14、l+V)命令粘贴到框架内。,重要属性 1. Caption属性:框架标题 2 Enabled属性:缺省为TrueFalse:标题呈灰色,不允许对框架内的所有对象 进行操作。 3. Visible属性:True:框架及其控件可见。False:框架及其控件被隐含起来。 事件:框架可以响应的事件Click、DblClick一般不需要有关框架的事件过程。例8.2 单选钮、检查框及框架用法示例。 Pg.187,程序代码如下: Private Sub OptFont1_Click() Label1.FontName = “宋体“ End Sub 如果单击“字体框架”中的“宋体”单选钮,则使标签框中的Fon

15、tName属性值被设置为宋体,标签框中的文字立即变成宋体字。以下各过程的思路与此类似。 Private Sub OptFont2_Click() Label1.FontName = “隶书“ End Sub Private Sub OptFont3_Click() Label1.FontName = “幼圆“ End Sub,Private Sub OptCol1_Click() Label1.ForeColor = QbColor(9) QbColor(9)是蓝色 End Sub Private Sub OptCol2_Click() Label1.ForeColor = QbColor(1

16、3) QbColor(13)是紫色 End Sub Private Sub OptCol3_Click() Label1.ForeColor = QbColor(10) QbColor(10)是绿色 End Sub Private Sub OptSize1_Click() Label1.FontSize = 14 End Sub Private Sub OptSize2_Click() Label1.FontSize = 18 End Sub Private Sub OptSize3_Click() Label1.FontSize = 22 End Sub Private Sub Comman

17、d1_Click() Label1.Caption = “欢迎你使用“ End Sub Private Sub Command2_Click() End End Sub,6.4 滚动条 (ScrollBar),1. 用 途滚动条控件(ScrollBar)分为水平滚动条(HScrollbar)和垂直滚动条(VscrollBar)二种,通常附在窗体上协助观察数据或确定位置,也可用作数据输入工具,用来提供某一范围内的数值供用户选择。,2. 属性 (1) Value滑块所处位置所代表的值。 (2) Max:最大值-32,76832,767 (3) Min:最小值-32,76832,767 (4) Sm

18、allChange最小变动值,单击箭头时移动的增量值。 (5) LargeChange最大变动值,单击空白处时移动的增量值。3. 方法,4. 事件 (1)Change事件滚动条的Change事件在移动滚动框或通过代码改变其Value属性值时发生。单击滚动条两端的箭头或空白处将引发Change事件。 (2)Scroll事件当滚动框被重新定位,或按水平方向或垂直方向滚动时,Scroll事件发生。拖动滑块时会触发Scroll事件Scroll事件与Change事件的区别在于:当滚动条控件滚动时Scroll事件一直发生,而Change事件只是在滚动结束之后才发生一次。,滚动条示例。设计一个用于设置字体颜

19、色的程序.,编写代码如下: Private Sub Form_Load() Picture1.BackColor = RGB(HScroll1, HScroll2, HScroll3) End SubPrivate Sub HScroll1_Change()Picture1.BackColor = RGB(HScroll1, HScroll2, HScroll3)r = LTrim(Str(HScroll1)g = LTrim(Str(HScroll2)b = LTrim(Str(HScroll3)Text1.Text = “Color=RGB(“ & r & “,“ & g & “,“ &

20、b & “)“ End SubPrivate Sub HScroll2_Change() Picture1.BackColor = RGB(HScroll1, HScroll2, HScroll3)r = LTrim(Str(HScroll1)g = LTrim(Str(HScroll2)b = LTrim(Str(HScroll3)Text1.Text = “Color=RGB(“ & r & “,“ & g & “,“ & b & “)“ End SubPrivate Sub HScroll3_Change() Picture1.BackColor = RGB(HScroll1, HScr

21、oll2, HScroll3)r = LTrim(Str(HScroll1)g = LTrim(Str(HScroll2)b = LTrim(Str(HScroll3)Text1.Text = “Color=RGB(“ & r & “,“ & g & “,“ & b & “)“ End Sub,例1 显示人口的变化。人口的年增长率和年份分别用水平滚动条和垂直滚动条表示。当用户先后移动两个滚动条以改变年增长率和年份时,应显示出此时的人口数。其属性设置如表6.4.1所示。 Private Sub Form_Load()LabelYear.Caption = “ 2000年“LabelRate.Ca

22、ption = “年增长率: 0“LabelInfo.Caption = “人口为: 12.3亿“ End Sub,Private Sub RateBar_Change()pnow = 12.3n = YearBar.Value - 2000r = RateBar.Value / 1000pthen = pnow * (1 + r) nLabelRate.Caption = “年增长率:“ + Str$(r)LabelInfo.Caption = “人口为:“ + Str$(pthen) + “亿“ End Sub Private Sub YearBar_Change()LabelYear.C

23、aption = Str$(YearBar.Value) + “年“pnow = 12.3n = YearBar.Value - 2000r = RateBar.Value / 1000pthen = pnow * (1 + r) nLabelRate.Caption = “年增长率:“ + Str$(r)LabelInfo.Caption = “人口为:“ + Str$(pthen) + “亿“ End Sub,6.5 列表框与组合框,列表框控件(ListBox)用于显示项目列表,用户可从中选择一个或多个项目。如果项目总数超过了可显示的项目数, VB会自动加上滚动条。列表框有两种风格:标准和

24、复选列表框。通过它的Style属性来设置。,组合框控件(ComboBox)将文本框和列表框的功能结合在一起,用户可以在列表中选择某项(只能选取一项)。或在编辑区域中直接输入文本内容来选定项目。 组合框共三种风格:下拉式组合框、简单组合框和下拉式列表框。,二、主要属性 1List、ListCount和ListIndex属性,这3个属性只能在程序代码中设置: List: 字符型数组存放列表框的项目数据,下标是从0开始的。例如: List(0)表示第一项(Listindex=0)的内容ListIndex: 整型值选中的项目的序号, 没有项目选中时为-1。ListCount:整型值表示项目的数量,Li

25、stCount-1是最后一项的下标。,2Style属性该值用来指示控件的显示类型和行为。在运行时是只读的。列表框控件或组合框控件的Style属性含义是不同的。,3MultiSelect属性用于指示是否能够在列表框控件中进行复选以及如何进行复选,在运行时是只读的。注意,组合框控件无此属性。,表8.7 MultiSelect 属性设置值及含义,4Selected属性该属性返回或设置列表框控件中的一个项目的选择状态。该属性是一个逻辑类型的数组,数组元素个数与列表框中的项目数相同,其下标的变化范围与List属性相同。例如:List1.Selected(0)=True表示列表框List1的第一个项目被选

26、中,此时ListIndex的值设置为0。Selected属性在设计时是不可用的,即无法在属性窗口中设置属性值。,5NewIndex属性返回最近加入列表框控件或组合框控件的项目的索引。如果在列表中已没有项目或删除了一个项目,该属性将返回-1。,6TopIndex属性返回或设置一个值,该值指定哪个项被显示在列表框控件或组合框控件顶部的位置。该属性取值范围从0到ListCount-1,在设计时不可用。 7Sorted属性返回一个逻辑值,当Sorted属性为True时列表框控件或组合框控件的项目自动按字母表顺序(升序)排序,为False时项目按加入的先后顺序排列显示。该属性只能在设计时设置,不能在程序

27、代码中设置。 8Text属性对于下拉式组合框与简单组合框,Text属性返回编辑区域中的文本。对于列表框控件或下拉列表框,Text属性的返回值总与List(ListIndex)的值相同。,方法 1AddItem方法用于将项目添加到列表框控件或组合框控件。语法格式:对象名.AddItem item , index其中:item: 为字符串表达式,表示要加入的项目。Index:决定新增项目的位置,缺省,则添加在最后。2RemoveItem方法 用于从列表框控件或组合框控件中删除一项。 语法格式:对象名. RemoveItem index对index参数的规定同AddItem方法。,3Clear方法用

28、于清除列表框控件或组合框控件中的所有项目。对象名. Clear 例如,要删除列表框(List1)中所有项目,可使用:List1. Clear,例如,要删除列表框(List1)中所有选中的项目,可使用下面的程序段:,i = 0 Do While i = List1.ListCount - 1If List1.Selected(i) = True ThenList1.RemoveItem ielsei = i + 1End If Loop 思考:是否可以用For循环?,4、事件 (1)Click事件当单击某一列表项目时,将触发列表框与组合框控件的Click事件。该事件发生时系统会自动改变列表框与组

29、合框控件的ListIndex、Selected、Text等属性,无需另行编写代码。 (2)DblClick事件当双击某一列表项目时,将触发列表框与简单组合框控件的DblClick事件。 (3)Change事件当用户通过键盘输入改变下拉式组合框或简单组合框控件的文本框部分的正文,或者通过代码改变了Text属性的设置时,将触发其Change事件。,例6.3.4 设计一个程序,查询自北京飞往各城市的航班时间。其功能是:在程序运行后,用户从列表框中选择一个城市名,就显示出航班的起飞时间,单击命令按钮程序结束。此程序的窗体中包含一个列表框、一个命令按钮,一个无边界的标签框(显示目的地)和一个有边界的标签

30、框(显示航班信息)。属性表如表6.3.4所示。,Form_Load事件代码如下: Private Sub Form_Load() LisPlace.AddItem “上海“ LisPlace.AddItem “大连“ LisPlace.AddItem “广州“ LisPlace.AddItem “深圳“ LisPlace.AddItem “重庆“ LisPlace.AddItem “厦门“ LisPlace.AddItem “乌鲁木齐“ LisPlace.AddItem “拉萨“ End Sub,Private Sub LisPlace_Click() T$=“航班信息“ Ch$=“北京“ S

31、elect Case LisPlace.ListIndex Case 0 Ch1$=“星期五 15:00起飞“ Label2.Caption=T$+Ch$+LisPlace.Text+Ch1$ 显示上海航班信息 Case 1 Ch1$=“星期一 09:00起飞“ Label2.Caption=T$+Ch$+LisPlace.Text+Ch1$ 显示大连航班信息 Case 2 Ch1$=“星期六 22:20起飞“ Label2.Caption=T$+Ch$+LisPlace.Text+Ch1$ 显示广州航班信息 Case 3 Ch1$=“星期三 11:00起飞“ Label2.Caption=T

32、$+Ch$+LisPlace.Text+Ch1$ 显示深圳航班信息 Case 4 Ch1$=“星期四 17:00起飞“ Label2.Caption=T$+Ch$+LisPlace.Text+Ch1$ 显示重庆航班信息 Case 5 Ch1$=“星期二 23:15起飞“ Label2.Caption=T$+Ch$+LisPlace.Text+Ch1$ 显示厦门航班信息 Case 6 Ch1$=“星期日 08:30起飞“ Label2.Caption=T$+Ch$+LisPlace.Text+Ch1$ 显示乌鲁木齐航班信息 Case 7 Ch1$=“星期三 11:40起飞“ Label2.Cap

33、tion=T$+Ch$+LisPlace.Text+Ch1$ 显示拉萨航班信息图6.3.8 例6.3.4执行结果 End Select End Sub,1.用途 时钟控件(Timer)又称计时器、定时器控件,用于有规律地定时执行指定的工作,适合编写不需要与用户进行交互就可直接执行的代码,如计时、倒计时、动画等。在程序运行阶段,时钟控件不可见。,6.6 时钟,2.属 性 (1)Interval属性取值范围在0 到 64767 之间(包括这两个数值),单位为毫秒(0.001秒),表示计时间隔。若将Interval属性设置为0或负数,则计时器停止工作。 (2)Enabled属性无论何时,只要时钟控件

34、的Enabled属性被设置为True而且Interval属性值大于0,则计时器开始工作(以Interval属性值为间隔,触发Timer事件)。通过把Enabled属性设置为False可使时钟控件无效,即计时器停止工作。,3. 方法VB没有为时钟控件提供有关的方法。 4. 事件时钟控件只能响应Timer事件,当Enabled属性值为True且Interval属性值大于0时,该事件以Interval属性指定的时间间隔发生,需要定时执行的操作即放在该事件过程中完成。,例1 时钟示例。 例2 模拟霓虹灯,Option Explicit Dim cntHit 击中次数 Dim cntshoot 发射次数

35、 Private Sub CmdShoot_Click()cntshoot = cntshoot + 1Timer2.Enabled = True 使子弹可以发射Timer1.Enabled = True End Sub Private Sub Form_Load()Timer1.Interval = 35Timer2.Interval = 50Timer1.Enabled = TrueTimer2.Enabled = FalsecntHit = 0cntshoot = 0 End Sub,Private Sub Timer1_Timer()ShapeTarget.Left = ShapeTa

36、rget.Left + 100ShapeTarget.Top = ShapeTarget.Top - 50If ShapeTarget.Left 5000 ThenShapeTarget.Left = 100End IfIf ShapeTarget.Top 500 ThenShapeTarget.Top = ShapeTarget.Top + 50End If End Sub,Private Sub Timer2_Timer()ShapeBullet.Top = ShapeBullet.Top - 600 子弹发射If ShapeBullet.Top 0 Then 达到顶峰ShapeBulle

37、t.Top = CmdShoot.Top - 100Timer2.Enabled = FalseEnd IfIf Abs(ShapeTarget.Top - ShapeBullet.Top) 200 And Abs(ShapeTarget.Left + ShapeTarget.Width) / 2 - (ShapeBullet.Left + ShapeBullet.Width) / 2) 200 Then 击中后cntHit = cntHit + 1Timer2.Enabled = FalseShapeBullet.Top = CmdShoot.Top 100子弹和靶子回初始位置ShapeTa

38、rget.Left = 100End IfLabel1.Caption = “击中“ & cntHit & “/“ & cntshootEnd Sub,习题 6,6.1 VB中的常用控件有哪几种?它们的区别是什么? 6.2 用标签和文本框都可以显示文本信息,二者有什么区别? 6.3 如果要时钟控件每半分钟发生一个Timer事件,则Interval属性应设置为多少? 6.4 设计一个电子滚动屏幕,使“热烈欢迎”几个汉字在窗体中自左向右反复移动。 6.5 所有的控件都有Name属性,大部分控件有Caption属性。对于同一个控件来说,这两个属性有什么区别? 6.6 在窗体上建立三个文本框和一个命令按钮。程序运行后,单击命令按钮,在第一个文本框中显示由Commandl_Click事件过程设定的内容(例如“MicrosoftVisual Basic”),同时在第二个、第三个文本框中分别用小写字母和大写字母显示第一个文本框中的内容。 6.7 编写程序,用计时器按秒计时。在窗体上画一个计时器控件和一个标签,程序运行后,在标签内显示经过的秒数并响铃。,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 中等教育 > 小学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报