null第4章 窗体和常用控件第4章 窗体和常用控件4.1 窗体的设计
4.2 控件介绍
4.3 内部控件
4.4 控件数组
4.5 综合练习
4.1 窗体的设计
4.1.1窗体的属性4.1 窗体的设计
4.1.1窗体的属性窗体的属性决定了窗体的外观和操作。设置属性有两种方法:通过属性窗口设置和在程序代码中设置 。
打开属性窗口有三种方法:
选择“视图”菜单“属性窗口”菜单项。
单击F4键或工具栏的按钮。
在窗体的任意位置单击鼠标右键,在快捷菜单中选择“属性窗口”。练习null1. 常用的杂项属性
(1)名称(Name)
(2)MaxButton和MinButton
设置窗体显示时是否有最大化和最小化按钮。
(3)Icon属性
Icon属性用于设置窗体最小化时显示的图标。
(4)ControlBox属性
ControlBox属性用来设置窗口控制框的状态。 null2. 常用的外观属性(Apperance)
(1)Caption
Caption属性用于设置窗体显示的标题。
对象.Caption =字符串
(2)Appearance
Appearance属性设置窗体的外观。
(3)BackColor和ForeColor
(4)Picture
(5)BorderStyle
用于设置窗体的边框风格。 练习3. 常用的位置属性(Position)3. 常用的位置属性(Position)(1)Left和Top
Left和Top属性用于设置窗体的左上角在屏幕的横、纵坐标,即窗体在屏幕上的位置。 (2)Width和Height4. 常用的行为属性(Behavior)
4. 常用的行为属性(Behavior)
(1)Visible
(2)AutoRedraw
用于设置窗体显示的信息是否重画。
例如:在窗体中输入:
Print “HELLO”
最小化窗体后看使用AutoRedraw 的作用。
(3)Enabled
5. 字体属性(Font)
6. 缩放属性(Scale)
在第八章中详细介绍 练习4.1.2 窗体的事件4.1.2 窗体的事件1. Load事件
Load事件是当装载窗体时触发的。
2. UnLoad事件
UnLoad事件是当卸载窗体时触发。
3. Click事件
Click事件是当鼠标单击窗体时触发。
null【例4-1】使用窗体查看窗体事件的触发时刻。Form_Initialize()
Form_Activate()
Form_Load()
Form_Click()
4.1.3 窗体的方法4.1.3 窗体的方法1. Show方法
Show方法用于显示窗体。
语法:
对象.Show [风格n]
2. Hide方法
Hide方法用于隐藏窗体。
3. Move方法
Move方法用于移动窗体或控件。
语法:
[对象].Move left[, top, width, height]4.1.4 窗体的装载、卸载和关闭4.1.4 窗体的装载、卸载和关闭1.装载窗体语句
装载窗体语句是把窗体(或其他对象)装入内存。
Load 对象
2. 卸载窗体语句
卸载窗体语句是把窗体或其他对象从内存中卸载。
Unload 对象
3. End语句
问题:
Unload Me的意思? Load form1语句与Form_Load的区别?练习练习练习一只白色的足球被踢进球门,则白色、足球、踢、进球门是 。
A 属性、对象、方法、事件
B 属性、对象、事件、方法
C 对象、属性、方法、事件
D 对象、属性、方法、事件B4.2 控件介绍
4.2.1 控件的分类4.2 控件介绍
4.2.1 控件的分类1. 内部控件
内部控件是由VB本身提供的控件,也称为常用控件。
2. ActiveX控件
ActiveX控件是VB控件箱的扩充部分。
3. 可插入对象4.2.2 控件的通用特性4.2.2 控件的通用特性1.名称(Name)属性
2.控件的值属性
3.焦点(focus)
与焦点有关的事件有:
GotFocus事件,LostFocus事件
与焦点有关的属性有:
TabIndex 属性,TabStop属性null4.访问键
5.容器
窗体(Form)、框架(Frame)和图片框(PictureBox)等都可以作为其他控件的容器。4.2.3 使用With结构4.2.3 使用With结构With结构用于对一个对象执行一系列的语句时,可以不用重复写该对象的名称。
语法:
With 对象
语句块
End With4.2.4编辑器设置4.2.4编辑器设置选择“工具”(Tools)菜单中的“选项”菜单项,就会出现“编辑器”选项卡 。4.2.5 对象浏览器 4.2.5 对象浏览器 对象浏览器主要用来查看对象的信息,可以用来搜索和使用工程中的对象,或者来源于其他应用程序的对象。 搜索文本框成员列表类列表详细信息4.3 内部控件
4.3.1 标签、文本框和命令按钮4.3 内部控件
4.3.1 标签、文本框和命令按钮1.标签(Label)
标签控件用于显示不能编辑的文本信息,在运行时不能由用户输入,一般用于在窗体上进行文字说明。
Alignment
AutoSize
BorderStylenull2. 文本框(TextBox)
文本框用于接受用户输入的信息或显示系统提供的文本信息,用户可以在文本框中编辑文本。
(1)常用属性
Text:文本框中显示的内容。
MultiLine:设置是否可输入多行文本。
ScrollBars:设置是否含滚动条。
Locked:设置用户是否能编辑文本框中的文本。
PasswordChar:用于设置文本框中输入字符的显示,即是否为口令框,默认值为空字 。null(2)方法
文本框常用的方法有Refresh和SetFocus。
(3)事件
Change事件:当文本框内容发生变化时触发,可以用来同步各控件的数据。
GotFocus事件:当文本框获得焦点时触发。
LostFocus事件:当文本框失去焦点时触发,可以用来检查文本框输入内容的合法性。null【例4-4】创建一个用户登录界面,输入用户名和口令,判断是否是合法用户。null3. 命令按钮(Command)
Caption属性:用于设置命令按钮的显示文字。
Style属性:用于设置按钮的外观是
标准
excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载
按钮还是图形按钮。
Picture属性:用于设置按钮中要显示的图形,当Style属性为1时设置。
Default属性:设置该按钮是否为默认按钮。
Cancel属性:设置该按钮是否为取消按钮。
Value属性:设置按钮是否被单击 。null按钮控件最基本的事件是Click,以下情况都可产生Click事件:
在按钮上单击鼠标。
焦点在按钮上时按空格键或回车键。
在代码中将按钮的Value属性设置为True。
对于默认按钮按回车键,对于取消按钮按Esc键。
在Caption属性中用&符号连接一访问键,在运行时按“Alt+访问键”。null【例4-5】在窗体中输入学生的学号和姓名,并检测文本框输入的合法性。
Private Sub Text1_LostFocus()
'失去焦点
If Not IsNumeric(Text1.Text) Then
MsgBox "学号应为数字", vbOKOnly, "出错"
Text1.SetFocus
End If
End Sub
4.3.2 框架、选项按钮和复选框 4.3.2 框架、选项按钮和复选框 1. 框架控件(Frame)
框架控件的作用是将其他控件组合在一起,当作其他控件的容器。
Caption属性:框架的标题名称,可以包含访问键。
Enabled属性:是否为活动状态。默认True表示活动状态;False为非活动状态,框架内所有控件都不能使用,标题显示为灰色。null2. 选项按钮(OptionButton)
选项按钮用于从一组选项按钮中选取其一,又称为单选按钮。如果有一项被选中,则其他选项按钮将自动变成不选中。
Value属性:设置选项按钮的选中状态。默认为False表示未被选中;True表示被选中,则其他选项的Value属性自动为False。
Enabled属性:设置选项按钮是否有效。False为无效则选项按钮禁止使用,显示为灰色。null3. 复选框(CheckBox)
复选框从一组复选框中同时选中多个选项。在一组复选框中每个复选框是彼此独立互不相干的,用户可以选择一个或多个复选框。
Value属性:设置选项按钮的选中状态。默认为0(Unchecked)表示未被选中;1(Checked)表示选中;2(Grayed)表示暂时不能访问,显示为灰色。
null【例4-6】加油站计费程序。
Value属性:设置选项按钮的选中状态。默认为False表示未被选中;True表示被选中,则其他选项的Value属性自动为False。
Enabled属性:设置选项按钮是否有效。练习4.3.3 列表框和组合框4.3.3 列表框和组合框1. 列表框(ListBox)
列表框用于列出可供用户选择的项目列表,用户可以从中选择一个或多个列表项。null属性:
List :用于访问列表框的所有列表项,是一个字符数组 。
ItemData :为列表框的每个列表项设置一个对应的数值。
Columns:设置列表项按几列显示。
nullListCount:用于返回在列表框中的列表项数,只能在运行时使用。
ListIndex:当前选中的列表项索引,只能在运行时使用。-1为当前没有选择项目n为当前选择项目的索引,从0开始。
Text:用于得到当前列表项的内容。
MultiSelect:用于设置是否允许同时选择多个列表项。
null常用方法:
AddItem:用于在程序代码中添加列表项。
[对象].AddItem 列表项[,索引]
RemoveItem:是用于删除指定的列表项。
[对象]. RemoveItem索引
Clear:用于删除所有列表项。
[对象]. Clearnull【例4-7】
nullPrivate Sub Form_Load()
'装载窗体
With List1
.AddItem "北京市"
.AddItem "上海市"
.AddItem "天津市"
.AddItem "江苏省"
.AddItem "河北省"
.AddItem "山东省"
.AddItem "安徽省"
End With
Text3 = List1.ListCount
End Sub
Private Sub List1_Click()
'单击列表框
Text1 = List1.Text
End Sub
nullPrivate Sub Command1_Click()
'添加列表项
List1.AddItem Text2.Text
Text3 = List1.ListCount
End Sub
Private Sub Command2_Click()
'删除列表项
List1.RemoveItem List1.ListIndex
Text3 = List1.ListCount
End Sub
Private Sub Command3_Click()
'全部清除列表项
List1.Clear
Text3 = List1.ListCount
End Sub2. 组合框(ComboBox)2. 组合框(ComboBox)组合框是文本框和列表框的组合。既可以从文本框输入和修改文本,也可以从列表框中选择下拉的列表项。null【例4-8】输入学生的学号、姓名、性别、籍贯和系别。练习4.3.4 图像框和图片框4.3.4 图像框和图片框图像框(Image)和图片框(PictureBox)都是用于显示图形,可以显示.bmp、.ico、.wmf、.jpg、.gif等图形文件。
1.Picture属性
Picture属性用于设置在图像框和图片框中要显示的图像文件名。
Picture1.Picture = LoadPicture (“……”)null图片框PictureBox的AutoSize属性:
False(默认)为保持原始尺寸,当图形比图片框大时,超出的部分被截去。
True为图片框根据图形大小自动调整。
图像框Image的Stretch属性:
False(默认)为图像框将适应图像的大小。
True为图像将适应图像框的大小,可能使图像变形。4.3.5 滚动条和定时器4.3.5 滚动条和定时器1.滚动条
滚动条控件包括水平滚动条(HscrollBar)和垂直滚动条(VscrollBar),水平滚动条和垂直滚动条都是用于滚动内容,方向不同但动作相同。
(1)常用属性
Value,Max,Min,SmallChange,LargeChangenull(2)事件
Scroll:拖动滚动框时触发,用于跟踪滚动条的动态变化。
Change:单击滚动条或滚动箭头以及释放滚动框时触发。可以用来得到滚动条的最终位置。
例4-92.定时器(Timer)2.定时器(Timer)定时器用于间隔一定时间触发事件,运行时定时器不可见。定时器可以用来实现简单的动画。
(1)常用属性
Interval用于设置定时器事件之间的时间间隔,单位为毫秒,取值在0~65767之间。如果设置为0,则表示定时器无效。
(2)事件
定时器只支持Timer事件,当达到Interval属性规定的时间间隔就触发该事件。null【例4-10】使用定时器实现标签文字的动画显示。
Private Sub Timer1_Timer()
'移动标签
If (Form1.Width - Label1.Left) > 100 Then
'当超过窗体屏幕时
Label1.Move Label1.Left + 100
Else
Label1.Move 0
End If
End Sub练习4.3.6 文件系统控件4.3.6 文件系统控件文件系统控件包括驱动器列表框、目录列表框和文件列表框。文件系统控件可以单独使用,也可以组合使用。 null1.常用属性
(1)DriveListBox控件的Drive属性
Drive属性用于指定出现在驱动器列表框顶端的驱动器。
(2)Path属性
DirListBox控件和FileListBox控件都有Path属性,只能在程序代码中设置。
对象.Path = 路径
(3)FileListBox控件Pattern属性
Pattern属性用来设置要显示的文件种类。
null2.常用的事件
可以通过DriveListBox 和DirListBox控件的Change事件来实现关联:
Private Sub Drive1_Change()
'改变驱动器
Dir1.Path = Drive1.Drive
End Sub
Private Sub Dir1_Change()
'改变目录
File1.Path = Dir1.Path
End Subnull3.常用语句
(1)ChDrive语句用于设置当前驱动器。
语法:
ChDrive 驱动器
(2)ChDir语句设置当前工作目录。
语法:
ChDir 路径
null【例4-11】在图片框中显示所选择的图形文件 。
Private Sub File1_Click()
Frame1.Caption = File1.FileName
'装载图片框的图形文件
Picture1.Picture = LoadPicture(File1.Path & "\" & File1.FileName)
End Sub4.4 控件数组4.4 控件数组1.在设计时创建控件数组
在设计时有三种方法可以创建控件数组:
(1)将相同名字赋予多个控件。
(2)复制现有的控件并将其粘贴到窗体上。
(3)将控件的Index属性设置为非Null数值
2.在运行时创建控件数组的新控件
Load 对象(Index)
UnLoad 对象(Index)null【例4-12】使用控件数组创建一个简单的电话拨号程序。
Private Sub Command1_Click(Index As Integer)
'单击按钮数组
Text1 = Text1 & Command1(Index).Caption
End Sub
4.5 综合练习4.5 综合练习【例4-14】按照Windows的字体对话框创建一个窗体,用来实现字体对话框的功能。
Font属性的设置:FontSize 、 FontItalic 、FontUnderline 、FontBold、FontStrikethru
nullPrivate Sub List1_Click()
'在文本框显示列表框的选项
Text1 = List1.List(List1.ListIndex)
End Sub
Private Sub Option1_Click(Index As Integer)
If Index = 0 Then
'设置字体为粗体
Text2.FontBold = True
Text2.FontItalic = False
Else
'设置字体为斜体
Text2.FontBold = False
Text2.FontItalic = True
End If
End Sub4.5 综合练习4.5 综合练习【例4-14】按照Windows的字体对话框创建一个窗体,用来实现字体对话框的功能。
null1. 已知下面程序段实现将列表框Listbox1中所有列表内容删除,则下面哪条语句在横线处最合适。
For i = 0 To Listbox1.ListCount – 1
Next i
A.Listbox1.RemoveItem (0)
B.Listbox1.RemoveItem (i)
C.Listbox1.RemoveItem (i+1)
D.Listbox1.RemoveItem (I-1)Bnull4. 在窗体Form1的Click事件过程中有以下语句:
Label1.Caption = “Visual Basic”
若本语句执行前,标签控件的Caption属性取缺省值,则该标签控件的名称属性和Caption属性在执行本语句前的取值分别为 。
A.Label,Label B.Label,Caption
C.Label1,Label1 D.Caption,LabelC练习:练习:以下有关对象属性的说法中正确的是: 。
A 对象所有的属性都罗列在属性窗口列表中
B 不同对象不可能有同名属性
C 不同对象的同名属性取值一定相同
D 对象的某些属性既可在属性窗口中设置,也可通过程序代码设置或改变
D练习:练习:以下叙述正确的是: 。
A 窗体的Name属性的值是显示窗体标题栏文本
B 可以在运行期间改变窗体的Name属性
C 窗体的Name属性可以为空
D窗体的Name属性指定窗体的名称,用来标识窗体D练习:练习: 窗体Form1的Caption属性为frm,它的Load事件过程名为______。
A. Form_Load
B. Form1_Load
C. Frm_Load
D. Me_LoadA练习:练习:如果单击一个当前没有被选中的复选框,其他已被选中的复选框会处于________状态 。
A 不选中 B 不显示
C 禁止 D 选中
D练习:练习:下列控件中,没有Caption属性的是 ________。
A. 框架 B. 列表框
C. 复选框 D. 选项按钮B练习:练习:如果设置定时器的时间间隔为0.5秒,则它的Interval属性值等于 。
A 5000 B 500
C 50 D 5
B