Visual Basic 窗体和常用控件
考纲要求
1.掌握对象的常用属性(Name、Caption、Top、Left、Width、Height、Enabled、Visible、BackColor、ForeColor、Font等)
2.掌握窗体的常用属性(Picture、MaxButton、MinButton、ControlBox、BorderStyle等)
3.掌握VB中的常用事件(Click、DblClick、Load、Unload、GotFocus、LostFocus、Change等)
4.掌握窗体的常用方法(Load、Unload、Hide、Show、Move、SetFocus等)
5.掌握常用控件的基本属性、事件和方法。
(1)Label(标签)
属性:Alignment、AutoSize
(2)TextBox(文本框)
属性:Alignment、Text、MultiLine、ScrollBars
方法:SetFocus
事件:Change
(3)CommandButton(命令按钮)
属性:Style、Picture、Default、Cancel
事件:Click
(4)OptionButton(单选按钮)
属性:Value、Style
事件:Click
(5)CheckBox(检查框)
属性:Value、Style
事件:Click
(6)Frame(框架)
(7)ListBox与ComboBox(列表框和组合框)
属性:List、ListIndex、ListCount、Text、Style
方法:AddItem、RemoveItem、Clear
(8)HScrollBar(水平滚动条)和VScrollBar(垂直滚动条)
属性:Value、Max、Min、LargeChange、SmallChange
事件:Scroll、Change
(9)Timer(时钟)
属性:Interval、Enabled
事件:Timer
窗体常用属性
常用属性名 | 功能 | 说明 |
Name | 对象的名称 | 所有控件都有 |
Caption | 对象的标题 | —— |
Top | 对象上边界离载体上边界的距离 | 决定对象的位置,单位:缇 |
Left | 对象左边界离载体左边界的距离 | |
Width | 对象的宽度 | 决定对象的大小,单位:缇 |
Height | 对象的高度 | |
Enabled | 对象是否可用 | 默认为True |
Visible | 对象是否可见 | 默认为True |
BackColor | 对象的背景色 | —— |
ForeColor | 对象的前景色 | 设置字体的颜色 |
Font | 对象的字体 | Name、Size、Bold、Italic、Underline、Strikethru |
Picture | 对象的背景图片 | Picture=LoadPicture |
MaxButton | 窗体上的最大化按钮是否可用 | 默认为True,如果两者都不可用,则只会出现关闭按钮 |
MinButton | 窗体上的最小化按钮是否可用 | |
ControlBox | 窗体的标题栏是否显示控制菜单 | —— |
BorderStyle | 边界样式 | BorderStyle共有6种边框样式【于下表】 |
属性值 | 窗体边框样式 |
0 | 窗口无边框,无标题栏 |
1 | 窗口有单线边框,运行时窗口大小不可改变 |
2 | 窗口有双线边框,运行时可改变窗口大小(默认值) |
3 | 窗口有双线边框,运行时窗口不包含最大与最小化按钮,窗口大小不可改变 |
4 | 窗口包含一个关闭按钮,标题栏字体缩小,运行时不可改变窗口大小 |
5 | 窗口包含一个关闭按钮,标题栏字体缩小,运行时可改变窗口大小 |
窗体常用事件
常用事件名 | 触发条件 | 说明 |
Click | 单击鼠标左键时触发 | 对于窗体,要单击未被控件覆盖的空白处 |
DblClick | 双击鼠标左键时触发 | 对于窗体,要双击未被控件覆盖的空白处 |
Load | 当窗体加载到内存时触发 | 可以用于动态设置控件属性或模块级变量的初始值,窗体的默认事件 |
Unload | 当窗体从内存中卸载时触发 | End命令不能触发该事件 |
GotFocus | 当窗体获得焦点时触发 | —— |
LostFocus | 当窗体失去焦点时触发 | —— |
窗体常用方法
常用方法名 | 功能 |
Hide | 隐藏窗体,将窗体转入后台,但不从内存中卸载窗体 |
Show | 显示窗体,将后台窗体转为当前活动窗体,若窗体没有加载到内存,则会先将窗体加载到内容,再显示出来 |
Move | 移动对象(窗体和控件)到指定的位置,格式:对象名Move Left As Single [,Top] [,width] [,Height] |
SetFocus | 将焦点移动到指定对象上,使之成为当前对象 |
窗体常用命令
常用命令 | 功能 | 用法 |
Load | 将窗体加载到内存,但不显示出来 | Load窗体名 |
Unload | 将窗体从内存中卸载 | Unload窗体名 |
Label1(标签)
常用属性名 | 功能 | 说明 |
Caption | 设置标签上显示的标题 | —— |
Alignment | 设置标签上的文字对齐方式 | 0—左(默认),1—右,2—居中 |
Autosize | 决定标签大小是否自动适应文字 | True为自动适应,默认为False |
TextBox(文本框)
常用属性名 | 功能 | 说明 |
Alignment | 设置文本的对齐方式 | 同标签 |
Text | 文本框里显示的内容 | 默认属性 |
MultiLine | 是否允许多行显示 | True为允许,默认为False |
ScrollBars | 设置是否显示滚动条 | 0—无(默认),1—水平,2—垂直,3—两者 |
注:只有MultiLine设为True,ScrollBars 属性设置才会有效
常用事件名 | 触发条件 |
Change | 当文本框内容改变时将触发该事件,文本框的默认事件 |
常用方法名 | 功能 |
SetFocus | 设置焦点到文本框上 |
CommandButton(命令按钮)
常用属性名 | 功能 | 说明 |
Caption | 设置按钮上显示的标题 | 命令按钮的Caption属性很特殊,可以设置访问键 |
Style | 设置按钮的样式 | 0—标准,1—图形 |
Picture | 设置按钮的背景图案 | 只有Style设置为1时才起作用 |
Default | 设置是否为默认确定按钮 | 按Enter键触发Click事件 |
Cancel | 设置是否为默认取消按钮 | 按ESC键触发Click事件 |
常用事件名 | 触发条件 |
Click | 鼠标单击,不支持双击(DblClick)事件 |
Timer(时钟)
常用属性名 | 功能 | 说明 |
Interval | 设置时钟触发的时间间隔 | 单位:毫秒 |
Enabled | 决定时钟是否可用 | 通常用作时钟的开关 |
常用事件名 | 触发条件 |
Timer | 按设定的时间间隔由系统自动触发Timer事件,时钟唯一事件 |
OptionButton(单选按钮)
常用属性名 | 功能 | 说明 |
Value | 设置是否被选中 | True为选中,默认为False |
Style | 设置样式 | 同单选按钮 |
常用事件名 | 触发条件 |
Click | 单击时触发 |
CheckBox(检查框,也称为复选框)
常用属性名 | 功能 | 说明 |
Value | 设置是否被选中 | 0—未选中,1—选中,2—选中灰 |
Style | 设置样式 | 同单选按钮 |
常用事件名 | 触发条件 |
Click | 单击时触发 |
Frame(框架):是一个容器控件,用于将窗体上的对象分组。这里需要说明的时Enabled属性和Visible属性,若前者被设置为False,则除了框架本身不可用变灰外,在其上的所有控件都将不可用(但不变灰);如果是后者被设置为False,框架本身及其上的所有控件都将不可见,这也是容器控件的特征
ListBox(列表框)与ComboBox(组合框)
常用属性名 | 功能 | 说明 |
List | 列表项 | List属性是一个字符串数组,一般的使用格式 |
ListIndex | 当前被选中的列表项索引值 | ListIndex属性的值为当前选中的列表项的索引值,0表示选中第一个列表框,-1表示未选中任何列表项,该属性不出现在属性窗口中,是只读属性,只能在程序运行时引用 |
ListCount | 列表框中列表项总项数 | ListCount属性表示一共有多少个列表项,0表示无列表项,最后一个列表项的ListIndex的值等于ListCount-1。该属性不出现在属性窗口中,是只读属性,只能在程序运行时引用 |
Text | 当前被选中的列表项内容 | Text属性表示当前选中的列表项的内容,该属性不出现在属性窗口中,是只读属性 |
Style | 设置样式 | Style属性用于设置列表框和组合框的样式 |
HScrollBar(水平滚动条)与VScrollBar(垂直滚动条)
常用属性名 | 功能 | 说明 |
Value | 设置或返回滑块位置所对应的值 | Min<=Value<=Max |
Min | 滚动条左端(水平)或上端(垂直)的值 | 默认值为0 |
Max | 滚动条右端(水平)或下端(垂直)的值 | 默认为32767 |
LargeChange | 设置点击滑块与两端按钮之间的空白区域时滑块移动的距离(值) | 默认为1 |
SmallChange | 设置点击两端按钮时滑块移动的距离(值) | 默认为1 |
常用事件名 | 触发条件 |
Scroll | 当拖动滑块时触发该事件 |
Change | 当Value值发生变化时触发该事件 |
Visual Basic语言基础
数据类型 | 关键字 | 类型符 | 存储空间 | 范围 | |
数值数据型 | 字节型 | Byte | 无 | 1个字节 | 0~255 |
整型 | Integer | % | 2个字节 | -32768~32767 | |
长整型 | Long | & | 4个字节 | -2147483648~2147483647 | |
单精度型 | Single | ! | 4个字节 | -3.402826E38~3.402823E38 | |
双精度型 | Double | # | 8个字节 | -1.79769313D308~1.7969313D308 | |
货币型 | Currency | @ | 8个字节 | — | |
逻辑型 | Boolean | 无 | 2个字节 | True与False | |
日期型 | Date(time) | 无 | 8个字节 | 01/01/100~12/31/9999 | |
字符型 | String | $ | 与字符串长有关 | 0~65535个字符 | |
对象型 | Object | 无 | 4个字节 | 任何对象引用 | |
变体型 | Variant | 无 | 根据需要分配 | — |
函数VarType能实现的数据类型
数据 | 代表数据类型 | 数值 | 代表数据类型 |
0 | Empty(未初始化) | 1 | Null(无有效数据) |
2 | 整型 | 3 | 长整型 |
4 | 单精度 | 5 | 双精度 |
6 | 货币 | 7 | 日期 |
8 | 字符串 | 9 | 对象 |
10 | 错误 | 11 | 布尔 |
12 | 变体 | 13 | 数据访问对象 |
17 | 字节 | 8192 | 数组 |
常量
在程序运行过程中其值始终保持不变的数据为常量。常量可以分为直接常量和符号常量两种
(1)直接常量:在程序中直接给出值的数据成为直接常量,它包括数值常量、字符常量、逻辑常量、日期常量。【于右表】
(2)符号常量
①系统符号常量
系统定义的常量位于对象库中,这些常量可以与对象的方法或属性配合使用。
如:Form1.ForeColor=vbRed 表示前景色为红色。vbRed即为系统提供的常量。
②用户自定义符号常量
用Const来声明:Const符号常量名[As 类型]=表达式
用户自定义符号常量在声明时必须对其进行赋值。
变量
程序运行期间其值可以改变的数据称为变量。
(1)变量的命名规则
①必须以字母开头,由字母、数字或下划线组成,长度不超过255个字符,大小写不区分。
②不能与VB中的保留字重名
③为了增加程序的可读性,变量的命名应含义清楚,尽量采用前缀来表示变量的数据类型。
(2)变量的定义
①用语句进行显式声明
【格式】 Dim|Static|Public|Private 变量名 [As类型] 如:Dim intX As integer
②类型说明符定义
【格式】 变量名[后缀说明符] 如a% ‘表示a为整数型
③隐式声明
Visual Basic 允许用户在编写应用程序时,不声明变量而直接使用,系统临时为新变量分配存储空间并使用,这就是隐式声明。所有隐式声明的变量都是Variant(变体型)数据类型。Visual Basic 根据程序中赋予变量的值来自动调整变量的类型。
隐式声明容易造成错误,为了调试程序方便,一般对使用的变量都进行声明,可以在通用声明段使用Option Explicit 语句来强制显式声明所有变量。
直接常量常见类型:
数值 | 类型 |
123 | 整型常量 |
123& | 长整型常量 |
123.45 | 单精度浮点型常量(小数形式) |
1.234E2 | 单精度浮点型(指数形式) |
123D3 | 双精度浮点型常量 |
&O123 | 八进制常量 |
&H123 | 十六进制常量 |
“123” | 字符常量 |
False | 逻辑常量 |
#2011-7-23# | 日期常量 |
运算符和表达式
在VB中,表达式由运算符和操作数组合而成。运算符时表示实现某种运算的符号。
运算符可以分为算术运算符、字符串运算符、关系运算符和逻辑运算符四类。
算术运算符
运算符 | 含义 | 优先级 | 示例(a=3) | 结果 |
^ | 乘方 | 1 | a^2 | 9 |
- | 负号 | 2 | -a | -3 |
* | 乘 | 3 | a*a*a | 27 |
/ | 除 | 3 | 10/a | 3.3333333333333 |
\ | 整除 | 4 | 10\a | 3 |
Mod | 取余 | 5 | 10 Mod a | 1 |
+ | 加 | 6 | 10+a | 13 |
- | 减 | 6 | a-10 | -7 |
说明:算术运算符两边的操作数应该是数值型,若是数字字符或逻辑性,则强制转换为数值类型后再运算。
字符串运算符
运算符 | 作用 | 区别 | 示例 | 结果 |
& | 将两个字符串拼接起来 | 先将操作数转换成字符,然后再连接 | 12 & 34 | 1234 |
12 & ”ab” | 12ab | |||
+ | 两者都为字符串,直接连接 | “12”+”34” | 1234 | |
两者都为数字型,算术加法运算 | 123+45 | 168 | ||
一个为数字字符型,一个为数字型,将字符型转换为数字型,然后算术加法运算 | “12”+34 | 46 | ||
一个为非数字字符型,一个数值型,则出错 | “ab”+34 | 出错 |
说明:使用运算符”&”时,变量与运算符”&”之间应加一个空格。这是因为符号”&”还是长整型的类型定义符,如果变量与符号”&”接在一起,VB系统先把它作为类型定义符处理,因而就会出现语法错误。
关系运算符
运算符 | 含义 | 示例 | 结果 |
= | 等于 | “ABCDE”= “ABR” | False |
> | 大于 | “ABCDE”> “ABR” | False |
>= | 大于等于 | “bc”>=”大小” | False |
< | 小于 | 23<3 | False |
<= | 小于等于 | “23”<= “3” | True |
<> | 不等于 | “abc”<> “ABC” | True |
说明:1、如果两个操作数都是数值型,则按其大小比较。
2、如果两个操作数都是字符型,则按字符的ASCII码值从左到右一 一比较。
3、汉字字符大于西文字符。
4、关系运算符的优先级相同
表达式
(1)表达式的组成
表达式由常量、变量、运算符、函数和圆括号按一定的规则组成,运算结果的类型由数据和运算符共同决定。
(2)不同数据类型的转换
操作数的数据类型应该符合要求,不同的数据应该转换成同一类型。在算术运算中,如果操作数的数据精度不同,VB规定运算结果采用精度较高的数据类型。
即:Integer<Long<Single<Double<Currency
(3)优先级
同一表达式中,不同类型运算符的优先级:算术运算符>字符运算符>关系运算符>逻辑运算符
逻辑运算符
运算符 | 含义 | 优先级 | 说明 | 示例 | 结果 |
Not | 取反 | 1 | 当操作数为假时,结果为真 | Not F | T |
Not T | F | ||||
And | 与 | 2 | 两边都真才为真 | T And T | T |
F And F | F | ||||
T And F | F | ||||
F And T | F | ||||
Or | 或 | 3 | 两边都假才为假 | T Or T | T |
F Or F | F | ||||
T Or F | T | ||||
F Or T | T |
常用内部函数
函数是指能实现特定功能或完成某种运算的程序段。函数分为内部函数和用户自定义函数。VB提供了上百种内部函数(库函数),要求掌握这些常用函数的功能及使用。
1、格式和说明
【格式】 函数名[(参数列表)]
说明:①使用库函数要注意参数的个数及其参数的数据类型。
②要注意函数的定义域(自变量或参数的取值范围)和值域。 如Sqr(x)函数中的x必须大于等于0,Rnd()函数返回[0,1)(包括0而不包括1)之间的双精度随机数。
2、常用函数
(1)数学函数
函数名 | 功能 | 示例 | 结果 |
Abs(x) | 返回x的绝对值 | Abs(-2.5) | 2.5 |
Rnd(x) | 产生一个在[0,1)区间均匀分布的随机数,每次的值都不同 | Rnd(x) | 0~1之间的数 |
Int(x) | 返回小于或等于x的最大整数 | Int(-3.5) | -4 |
Fix(x) | 返回x的整数部分 | Fix(-3.5) | -3 |
Sqr(x) | 返回平方根 | Sqr(9) | 3 |
(2)转换函数
函数名 | 功能 | 实例 | 结果 |
Asc(S) | 字符串S中第一个字符的ASCII码 | Asc(“A”) | 65 |
Chr(N) | 返回ASCII码值所代表的字符 | Chr(65) | “A” |
Val(S) | 数字字符串转换为数值 | Val(“123AB”) | 123 |
Str(N) | 数值转换为字符串(正数转换后有前导空格) | Str(14) | “14” |
Log(N) | 返回N的自然对数,N>0 | Log(2) | 0.6931471 |
说明:
1、Asc(“Abcd”)值为65(只取首字母的ASCII值)
2、Val(“abc123”)值为0,Val(“1.2sa10”)值为1.2, Val函数只将最前面的数字字符转换为数值。
3、字符串函数
函数名 | 说明 | 实例 | 结果 |
InStr([N1,]S1,S2) | 于下表说明 | InStr(2,”EFABCDEFG”,”EF” | 7 |
Left(S,N) | 取字符串S左边N个字符 | Left(“ABCDEFG”,3) | “ABC” |
Mid(S,N1,N2) | 在S中从N1位开始向右取N2个字符,默认N2到结束 | Mid(“ABCDG“,2,3) | “BCD” |
Right(S,N) | 取字符串S右边N个字符串 | Right(“ABEFG”,3) | “EFG” |
Len(S) | 返回字符串S的长度 | Len(“AB高等”) | 4 |
IntStr函数说明:返回指定字符串S2在另一字符串S1中最先出现的位置。在字符串S1中,从第N1个字符开始找S2,省略N1时从S1的第一个字符开始找。找不到时,函数返回值为0,找到则返回第一次出现S2的所在位置。
4、日期函数
函数名 | 说明 | 实例 | 结果 |
Date[()] | 返回系统日期 | Date() | 2011-7-20 |
Day(C|N) | 返回日期代号(1~31) | Day(“2011,05,01”) | 1 |
Month(C|N) | 返回月份代号(1~12) | Month(2011,05,01) | 5 |
Time[()] | 返回系统时间 | Time | 上午11:26:53 |
Year(C|D) | 返回年份号(1753~2078) | Year(36) | 1900 |
数据的输入和输出
数据的输入
1、利用窗体控件
2、利用Inputbox函数输入数据
【格式】InputBox(提示信息[,标题]【,默认值】【,x,y】)
说明:显示一个能接受用户输入的对话框,对输入数据给予提示信息并输入数据。返回用户输入的数据。当文本框中未输入值时,”默认值”为空。InputBox函数返回值为字符串,所以,此函数常跟Val联合使用。X,y为InputBox框左上角距离屏幕左侧与上侧的距离。
数据的输出
- MsgBox函数
【格式】 MsgBox(提示信息[,按钮][,标题])
说明:此函数的作用是打开一个对话框,等待用户选择一个按钮作为回答,函数的返回值为用户选择的按钮的值。应用MsgBox函数时最主要是确定第2个参数,该参数共有4组,即为4项参数之和:“按钮数目值”+“图标类型值”+“默认按钮值”+“模式值”,有两种取法,一种是直接用4个取值相加,另一种是4个内部常量相加。
用户单击按钮的返回值与按钮的对应关系
返回值 | 内部常量 | 含义 |
1 | vbOk | 确定 |
2 | vbCancel | 取消 |
3 | vbAbort | 终止 |
4 | vbRetry | 重试 |
5 | vbIgnore | 忽略 |
6 | vbYes | 是 |
7 | vbNo | 否 |