1、Visual Basic总复习,主要内容,基本数据类型与表达式 程序流程控制 常用控件 数组与记录 过程 文件,第1章 程序设计语言与程序设计,程序设计语言 基本概念,程序设计语言,机器语言直接与机器交互的语言,程序执行速度快,资源要求低 高级语言亦称程序设计语言, 计算机不能直接识别源程序代码,必须翻译成二进制程序才能在机器上运行。,翻译方式,解释方式:由“解释程序”对源程序逐个语句一边翻译,一边执行 特点:执行速度慢,便于观察调试程序。 编译方式:由“编译程序”把源程序全部翻译成二进制程序。 特点:一旦编译成功,目标程序就可以反复高速执行。,主要概念,对象系统中的基本运行实体,它封装了数据
2、和操作。可以有相同的名称.如窗体中的命令按钮、标签等控件。 属性是对象的性质或状态特征。例如, 窗体的Caption、BackColor等都是窗体的属性。,主要概念(续),事件是对象之间传递的消息。例如,Click事件、DblClick事件。 方法是对象在某些事件驱动下执行的特定操作。例如窗体的Print方法、Show方法; 事件驱动程序响应特定事件的一段程序。如Command1_Click(),一个工程包含各种文件,工程文件(.vbp) 窗体文件(.frm) 标准模块文件(.bas),第2章 基本数据类型 与表达式,字符集和词汇集 基本数据类型 运算符和表达式 常用内部函数,2.1 程序设计
3、语言单位,字符、词汇、表达式、语句、过程、函数等称为“语法单位”。 字符是构成程序设计语言的最基本符号 单词是具有语法意义的最小语法单位。,1、 字符集,数字: 英文字母: 特殊符号: Space ! “ 我们常用的字符集是ASCII(American Standard Code for Information Interchange)字符集。 例如Enter(回车,代码为13),2.标识符,用于标记用户自定义的常量、类型、变量、控件或过程、函数等名字,命名规则,以字母开头,由字母、数字和下划线组成。变量名的最后一个字符可以是类型说明符( % 整型 , & 长整型)。 不能和关键字同名。 允许
4、使用汉字作为用户自定义标识符。,例. 下 面4组字符序列中,只有( )中的所有字符序列可以作为VB的变量名,A) Apple、Pupil_Mark、E30 B)Ball、5C、&0 C)Car-5、Track、Wm424 D)M7k、Product、Sgn答案 A,2.2 数据类型结构图,字符串型 变长字符串定长字符串 数值型 整型(整型、长整型、字节型)实型(单精度、双精度、货币型) 逻辑型 日期型,VB的基本数据类型,VB的基本数据类型(续),类型说明符:,% 整型 & 长整型 ! 单精度浮点型 # 双精度浮点型 货币型 $ 字符串型,2.3 常量与变量,常量:在程序执行期间不发生变化。C
5、onst Max = 1000 变量:代表内存中指定的存储单元,根据需要赋予不同的数值,可以变化。 Const a = 2 a = 4 Print a,变量小结,动态变量(Dim) 静态变量(Static) 可变类型变量(Variant) Option Explicit,2.4 运算符与表达式,运算符:对基本数据类型的运算使用的描述符号 运算量:被运算的对象数据 表达式:由运算符和运算量构成的式子 主要运算符: 算术运算符 字符串连接 关系运算 逻辑运算,一、Visual Basic的算术运算符,浮点数除法与整数除法,浮点除运算符:“/”。 左右操作数可以为整数或者浮点数. 运算结果的类型由其
6、值决定。,例如:,3 / 2 结果等于1.5,浮点数 3.6 / 1.8 结果等于2,整数,整数除法,整除运算符:“” 整除的操作数为整型数。 操作数带有小数点,对其四舍五入为整型数,进行整除运算。 运算结果简单地截取整数部分,小数部分不作舍入处理。,例如:,10 4 结果等于2 20 2.6 结果等于6 25.63 6.78 结果等于3,3取模运算,取模运算符:Mod 用于求余数,结果是第一个操作数整除以第二个操作数所得的余数。 如果左右操作数为实数,对其进行四舍五入取整,然后求模。 运算结果的符号取决于左操作数的符号。,例如:,10 Mod 4 结果等于2 25.63 Mod 6.78 结
7、果等于5 5 Mod 2 结果等于1 5 Mod 2 结果等于1 5 Mod 2 结果等于1 例:“年份year不能被4整除”的表达式 Year mod 4 0,4算术运算符的优先级,指数运算符 取负运算符 乘、除运算符 * / 整除运算符 取模运算符 Mod 加、减运算符 + ,求值顺序,同级算符从左到右运算 式子中含有括号,先计算括号内表达式的值; 有多层括号,从内层括号往外层括号计算。,二、 字符串连接,字符串表达式 :两个字符串使用连接符“&”或“+”串接起来,生成一个新的字符串 “VB” & “Program” VB Program,三、 关系运算与逻辑运算,结果都是逻辑值(True
8、和False )。 通常用在程序的条件判断中。 任何非0值都认为是逻辑真TRUE 1FALSE 0,比较运算表,2逻辑运算符,逻辑运算符的优先级,Not And Or Xor Eqv Imp,表达式的运算顺序,函数运算 算术运算 关系运算 逻辑运算,例,若x=2、y=4、z=6,则逻辑表达式Not(xy) Or x+y+z”china”false,有程序段 Dim X As Integer, Y As Integer X = 5 Y = 6 PRINT X + Y = 11 上述程序段运行时输出的结果是( )。 A、X+Y=11 B、11 C、X+Y=11, D、True,2.5 常用内部函数
9、,转换函数 数学函数 字符串函数 随机函数,一、 转换函数,转换函数:用于数据类型或形式的转换 包括整型、浮点型、字符串型之间以及与ASCII码字符之间的转换。,1取整函数,Int(n) 返回不大于n的最大整数。 Fix(n) 去掉n的小数部分,返回其整数部分 例:将x四舍五入到百位(例如,若x=12374.52应舍入成12400) Int(x / 100 + 0.5) * 100,Asc(s):返回字符串s的首字符的ASCII码值。 Chr(n)把n转换为相应的字符。其中表达式n的值是一个的合法ASCII码值 Val(s) 函数返回字符串表达式 s 中所含的数值。若遇到字母(指数符号除外)则
10、停止转换。 Str(n)返回数值n的字符串形式。当数字转成字符串时,字符串的第一个位一定是空格或是负号。,数值型之间的转换函数,CInt(x) 把x的小数部分四舍五入,转换成整数。当小数部分为0.5时,舍(或入)为最接近的偶数。 ?Cint(2344.5678) 2345 ?Cint(2344.5) 2344,其他函数,CCur(x) CDbl(x) CLng(x) CSng(x) CVar(x),二、 数学函数,数学函数用于各种数学运算,包括三角函数、求平方根、绝对值及对数、指数函数等常用数学函数。,1三角函数,Sin(x) 返回自变量x的正弦值。 Cos(x) 返回自变量x的余弦值。 Ta
11、n(x) 返回自变量x的正切值。 Atn(x) 返回自变量x的反正切值。,注意:,在Sin,Cos,Tan函数的自变量是以弧度为单位的角度:1 度 = / 180 = 3.14159 / 180(弧度),绝对值函数,Abs(x) 返回x的绝对值。 ? Abs(50.3)50.3,3符号函数,Sgn(x) 返回x的符号。 当x的值0时,函数返回1 ; Print Sgn(12),Sgn(-2.4),Sgn(0)1 1 0,4平方根函数,Sqr(x) 返回x的平方根。x的值须大于或等于0 。 例 Sqr(1+3.14159/2*Cos(48*3.14159/180),5指数和对数函数,Exp(x)
12、 返回以e为底、以x为指数的值,即求ex值。例 eat Exp(a*t) Log(x) 返回x的自然对数。 例 ln(1+|a+b|10) Log(1+Abs(a+b) 10) log10(a2+2ab+b2) Log(a*a+2*a*b+b*b)/Log(10),三 字符串函数,对字符串进行处理,1删除空白字符函数,LTrim(S) 去掉字符串s左边的空白字符。 RTrim(S) 去掉字符串s右边的空白字符。 Trim(S) 去掉字符串s左右两边的空白字符。,2字符串截取函数,Left(s,n) 截取字符串s最左边的n个字符。 Mid(s,p,n) 在字符串s中,从第p个字符开始,向后截取n
13、个字符。 Right(s,n) 截取字符串s最右边的n个字符。,例:,设字符串为“Hello Computer World“ ? Left(“Hello Computer World“ , 5) ? Mid(“Hello Computer World“ , 7, 8) ? Right(“Hello Computer World“ , 5) Print FirstStr, MidStr, LastStrHello Computer World,要从字符串“Visual BASIC 6.0”中截取子字符串“BASIC”可使用函数( )Mid(“Visual BASIC 6.0”,8,5),3字符串
14、长度测试函数,Len(s) 返回字符串s的长度,即所含的字符个数。 Print Len(“Hello World“)11 Print Len(“华南理工大学“)6,6字母大小写转换函数,Ucase(s) 把字符串s中的小写字母转换成大写字母。 Lcase(s) 把字符串s中的大写字母转换成小写字母。,例:,1.LowerS = “Hello World 1234“ Print UCase(LowerS) HELLO WORLD 12342.UpperS = “Hello World 1234“ Print Lcase(UpperS) hello world 1234,四随机函数,Rnd(x)
15、产生一个 大于或等于0小于1的单精度随机数。 例: Print Rnd.5795186,生成某个范围内的随机整数,Int(upper lower + 1) * Rnd + lower) 例 MyValue = Int(900 * Rnd) + 100) 生成100到999的随机数值用随机函数产生三位整数,第3章 程序流程控制,3种基本结构,顺序结构 分支结构 循环结构,3.1 顺序结构,赋值语句 输入语句 输出语句,一、赋值语句, = . = 例 St$ = “Good morning,” Text1.Text = St$ & “teacher!”,赋值相容,数值型与字符串型 整型与实型,二、
16、数据输入,格式: InputBox(,) 返回值是字符串型 例 Dim x! x = InputBox(“请输入长度(cm):“, “输入数据“, 10, 2000, 3000),MsgBox函数,格式: MsgBox(, , ),buttons参数设置值,第一组值(0 5)描述了对话框中显示的按钮的类型与数目; 第二组值(16,32,48,64)描述了图标的样式; 第三组值(0,256,512,768)说明哪一个按钮是缺省活动按钮。活动按钮中文字周围有虚线,按回车键即可执行该按钮的操作; 第四组值(0,4096)决定消息框的强制返回性。,例如,276 = 4 + 16 + 256 或 VbY
17、esNo + VbCritical+VbDefaultButton2 显示“是”、“否” 按钮、“”图标,缺省活动按钮为“否”,三、输出数据的Print方法,格式: . Print ,具有Print方法的对象,窗体(Form)、图片框(PictureBox)、打印机(Printer)都具有Print方法。如果省略对象名,则在当前窗体上输出。,输出列表的格式,Spc(n) | Tab(n) Spc(n) 空格函数 Tab(n) 跳格函数,省略n,在下一打印区(一打印区14列)输出 先对表达式求值 分隔符。若用逗号(,)分隔,则按标准格式显示数据项,用分号(;)或空格作分隔符,则按紧凑格式输出。如
18、果省略,则在下一行输出下一项目。,执行语句:Print Spc(9), “basic“ 其结果“basic“字符串在第( )列开始显示。 a) 10 b) 11 c) 14 d)15d,Format函数,格式:Format( , ),例,x=12.356 Print Format ( x,”#.#” ) Print Format ( x,”000.00” ) Print Format ( x,”0.00%” ) Print Format ( x,”00.00E+00” ) Print Format ( x,” $0,000.00” ) 答案:1236 01236123560%12.36e+00
19、$0,012.36,3.2 分支结构,单行结构条件语句 块结构条件语句 情况语句,一、单行结构条件语句,格式:If Then Else 注意:1.在一行上书写,没有Endif语句2.else总是跟最靠近的那个then匹配,以下不正确的单行结构条件语句是( ),a) If xy Then Print “ xy “ b) If x Then t = t * x c) If x Mod 3=2 Then ? x d) If x0 Then y = 2*x-1: Print x End If答案: D,二、块结构条件语句,格式:If ThenElseIf Then.ElseIf ThenElseEnd
20、 If,三、情况语句,Select Case Case Case Case Else End Select,Select Case说明:,测试表达式可以是数值表达式或字符串表达式;表达式表列中的表达式必须与测试表达式的类型相同。 称为域值,可以是下列形式之一: a. , b. To c. Is ,下列Case语句中正确的是( ),a) Select Case x Case 1 Or 3 Or 5 y=x*x-1 Case Is 10 y=x+1 End Selectb) Select Case xCase 1, 3, 5y=2*x-1Case Is x =1Y=2*x+1 End Select
21、 答案: C,c) Select Case x Case Is 0 y=Sqr(x)+1 End Select d) Select Case xCase x=1 And x10y=x*x+1 End Select,例,Private Sub Command1_Click() Dim x%, y% x = InputBox(“请输入x的值:”) Select Case xCase 1, 3, 5y = x - 1Case 6 To 10y = x + 1Case 2, 4y = 2 * x 结果:Case Is 10 x=3 y=2y = x * x + 1 x=2 y=4 End Select
22、 Print “x=“; x, “y=“; y End Sub (x 的输入值为2.53,2.5)把一个实数赋给一个整变量,则只能获取它的整数部分了。,3.3 循环结构,While Wend 语句 DoLoop语句 ForNext语句 嵌套循环,一、While Wend 语句,While Wend,二、DoLoop语句,先判断条件形式Do While | Until Loop 后判断条件形式DoLoop While | Until ,循环结构注意问题,do、while循环体内都必须有修改循环条件的语句 在do、while循环语句前应对变量赋初值一般情况,累加器赋0值,累乘器赋1值 “条件”可以
23、是关系表达式、逻辑表达式或常数 例:s=0(s=1)k=0while k=5s=s+k(s=s*k) k=k+1wend,与以下语句功能相同的语句是_。 Do While a = True LoopA Do Loop While a = TrueB Do Loop While a = FalseC Do Until a = True LoopD Do Until a = False Loop,三、ForNext语句,For = To Step Exit For Next ,步长,0时,作递增循环,即应有; 0时,作递减循环,应有; 1时,可省略Step子句。,for循环结构注意问题,For 循
24、环结束后,其循环控制变量的值一定超过终值。例:For i=1 to 5print “*”;Next iPrint i(i=6),x=4for i=1 to 10 step 3x=x+inext i ? x a) 27 b) 26 c) 57 d) 38 答案 b,有程序段(int(end-start)/step+1),Dim I As Integer FOR I=7 TO 90 STEP 5PRINT I; NEXT I 上述程序共执行( )次循环。 A、17 B、16 C、15 D、14 答案 a,四、嵌套循环,外层循环与内层循环必须层层相套,循环体之间不能交叉,For j = k1 To
25、k2Do While bLoopNext j(正确),Do While b1For j = k1 To k2LoopNext j (错误),在窗体上输出以下形式的星星阵列 * * * * ,Private Sub Command1_Click() Dim line%, i%, j% line = Val(InputBox(“请输入行数:“) For i = 1 To line 外循环控制输出行数Print Space(20 - i); 每行前面的空格数For j = 1 To i * 2 - 1 内循环控制输出个数Print “*“;Next jPrint 换行 Next i End Sub,
26、2.退出循环,(1) Exit Do语句(2) Exit For语句,功能:强制退出循环,并转到Do Loop语句或next的下一个语句去执行。,第5章 数组与记录,主要内容,数组是由固定数目的同类元素按一定顺序排列而成; 记录则由数目固定不同类型元素组成。,数组,一维数组 二维数组,5.1 一 维 数 组,数组说明格式为:Dim ( ) As 语法: To 和为长整型(Long)常量,的缺省值为0。,例.在程序中,能否出现语句:Dim A(to N)?,A)不可以 B)若在这个语句前面已经把N设置为正整数的符号常量,就可以出现这个语句. C)若在这个语句前面已经对N赋了为正整数值,就可以出现
27、这个语句. D) B)和C)都对 答案:B,一维数组主要内容,数组元素的输入、输出 数组元素的平均值、最大、最小值 数组元素的排序 两数组合并,数组元素的输入,方法一:(inputbox函数)For i = 1 To 20a(i) = InputBox(“请输入第“ & Str(i) & “个元素“)Next 方法二:(随机函数) Randomize For i = 1 To 20A(i) = Int(900 * Rnd) + 100 Next i,数组元素的输出,For i = 1 To 20Print “a(“; i; “) = “; a(i);If i Mod 5 = 0 Then Pr
28、int Next,某班有10个学生参加计算机等级考试,求这些学生的平均成绩。,Private Sub command1_click()Dim S(1 To 10) As Single, Sum As Single,i As IntegerFor i = 1 To 10S(i) = InputBox(“s(“ Sum / 10 End Sub,求10个数中的最小值,Private Sub command1_click()Dim a(1 To 10) As Single,min As Single,i As IntegerFor i = 1 To 10a(i) = InputBox(“a(“ mi
29、n End Sub,5.2 二 维 数 组,数组说明格式为:Dim ( ) As 的语法形式: To , To ,例 若有数组说明语句Dim b(3,-1 To 2, -2 To 2),则数组b中元素的个数是( )。答案:80,例 设有数组说明语句:Dim C(-1 To 1,1 To 5),则下列表示数组C的元素选项中()是正确 A) c(i+j) B) c(i)(j) C) c(i+1,j-1) D) c(1,0)答案:C,二维数组元素的输入,使用InputBox函数为: For i=1 To 30For j=1 To 3s(i,j)=InputBox(“s(“&Str(i)&”,”&st
30、r(j)&”)=”)Next j Next i,二维数组元素的输出,For i=1 To 30For j=1 To 3Print s(i,j),Next jprint Next i,已知某个班20个学生进行三门课考试,要求出每个学生三门课的平均成绩,Private Sub Form_Click()Dim s!(1 To 20, 1 To 3), i!, j!, sum!, ave!For i = 1 To 20For j = 1 To 3s(i, j) = InputBox(“s(“ & Str(i) & “,“ & Str(j) & “)=“)Next jNext i For i = 1 T
31、o 20sum = 0For j = 1 To 3sum = sum + s(i, j)Next jave = sum / 3Print i, aveNext i End sub,求数组下标下界和上界函数,Lbound( ,) Ubound( ,)Dim A(1 To 100, 0 To 3, -3 To 4) LBound(A, 1)的值为1 ULBound(A, 1)的值为100 LBound(A, 2)的值为0 ULBound(A, 3)的值为4,可调数组,ReDim语句的一般形式:ReDim (下标 1,下标2)As Dim a() N=5 Redim a(n),5.4 记 录 类 型
32、,记录类型定义的一般形式如下: Type () As () As End Type记录类型可以在标准模块或窗体模块中定义,但不能在事件过程中定义。,日期数据类型dat,可以用如下定义: Type datyear As integermonth As string*3day As integer End Type 学生记录可以说明为: Type stuno As Integername As String*8sex As String*2birthday As datscore As Single End Type Dim s1 as stu,记录变量的访问,一般形式为:. 对嵌套记录变量s1的
33、元素birthday的赋值: s1.no=15 s1.name=“张勇” s1.birthday.year=1980,编写一个过程,输入和显示一个学生的学习情况。,Private Type recno As Integername As String * 8maths As Integerphysics As Integerprogramming As Integertotal As Integer End Type,Private Sub Command1_Click()Dim student As recstudent.no = InputBox(“学号:“)student.name =
34、InputBox(“姓名:“)student.maths = InputBox(“数学成绩:“)student.physics = InputBox(“物理成绩:“)student.programming = InputBox(“程序设计成绩:“)student.total = student.maths + student.physics + _student.programmingPrint “ 学号: “; student.noPrint “ 姓名: “; student.namePrint “ 数学: “; student.mathsPrint “ 物理: “; student.phy
35、sicsPrint “ 程序设计:“; student.programmingPrint “ 总成绩: “; student.total End Sub,2With语句,With 语句格式为:With End With,Private Sub Command1_Click()Dim student As recWith student.no = InputBox(“学号:“).name = InputBox(“姓名:“).maths = InputBox(“数学成绩:“).physics = InputBox(“物理成绩:“).programming = InputBox(“程序设计成绩:“)
36、.total = .maths + .physics + .programmingPrint “ 学号: “; .noPrint “ 姓名: “; .namePrint “ 数学: “; .mathsPrint “ 物理: “; .physicsPrint “ 程序设计:“; .programmingPrint “ 总成绩: “; .totalEnd With End Sub,第7章 过 程,主要内容,过程的定义与调用 参数传递 过程与变量的作用域,7.1 子过程的定义,Private|Public Static Sub ()End Sub,函数过程的定义,Public|PrivateStat
37、ic Function () As = End Function,过程调用,1.子过程调用 或 Call () 例:Call fac(m, c1): Call fac(n, c2)cmn = c1 / c2 2.函数过程调用() 例:cmn = fac(m) / fac(n),定义过程中参数的确定,需要传入的数据传值参数(ByVal) 需要传出的数据传址参数(ByRef,或缺省) 函数传出的数据可由函数名返回,7.5 变量的作用域与生存期,过程(局部)级变量:在过程内部用Dim或Static声明的变量,作用域为本过程。 文件级(模块级)变量:在文件中各过程之外,用Dim或Private语句声明
38、的变量,其作用域为本文件或本模块。 工程级(项目级、全局)变量:在文件中各过程之外,用Public语句定义的变量,其作用域为整个工程或整个项目或全局。,注意,在同一模块不同过程中定义的变量可以同名;如:form1中有sub1、sub2,均可定义变量 同一模块不同级的变量可以同名;如:form1中可定义模块级,亦可定义过程级 不同模块中定义的全局变量可以同名,但引用另一模块的全局变量时必须在变量名之前加上模块名。如: form1中可定义全局级(form1.A), module1中可定义全局级A(module1.A) 过程中引用的变量,总是同名变量中作用范围最小的那一个变量。,变量的生存期,动态变
39、量 静态变量,动态变量,使用Dim说明 当程序执行到动态变量所在的过程时才给动态变量分配存储单元。 过程执行结束后,动态变量所占用的存储单元被系统回收。过程再次被调用时,重新分配存储单元和初始化。,静态变量,使用Static说明 在整个应用程序运行期间,分配有固定存储单元。 过程执行结束时,变量的值仍保存,该过程再次被调用时,变量的值为上次过程调用结束时的值。,在以下关于变量作用域的描述中,不正确的是(),A)当某过程变量与全局变量同名,全局变量在这个过程中就会被屏蔽 B)静态变量不是模块级或工程级变量,其作用域只限于在它所定义的过程内部 C)在某一个过程中定义的变量的作用域只能是这一过程 D
40、)在某一个模块中定义的变量的作用域只能是这一模块 答案 D,Dim x As Integer Public Sub sub1( x as Integer) x = x + 1 End Sub Public Function fun1( ByVal x as Integer)as integer Fun1 = 2*x End function Private Sub Command1_Click() static y As Integer call sub1(y) Print “x=”;x,”y=”;y x=fun1(y) Print “x=”;x,”y=”;y End Sub 运行结果: X=
41、0 y=1 X=2 y=1,编写过程程序设计的步骤,输入数据 处理数据(调用过程) 输出数据,定义过程中参数的确定,需要传入的数据通常是输入的数据 需要传出的数据通常是处理的结果,给定求组合数公式为: ,编一程序,输入m和n的值,求的值。,Private Sub fac(ByVal k&, f&) Private Function fac(ByVal k&)as longDim t&, i&t = 1For i = 1 To kt = t * iNext if = t fac = t End Sub Private Sub Command1_Click()Dim m&, n&, cmn&, c
42、1&, c2&, c3&n = Val(Text1.Text)m = Val(Text2.Text)Call fac(m, c1): Call fac(n, c2): Call fac(m - n, c3)cmn = c1 / (c2 * c3) cmn = fac(m) / (fac(n) * fac(m-n)Text3.Text = cmn End Sub,第4章 常用控件,主要内容,属性 事件 方法,4.1 控件概述,“类”是屏幕左边工具箱看到的图标模板; “对象”是当设计应用程序界面,生成一个窗体或在窗体上建立的控件。,对象之间的关系,窗体是控件的“根对象” 允许拥有其他控件的对象称为
43、“父对象”(如图片框、框架)。 放置在图片框上的控件称为子对象或子控件。 当一个父控件移动时,它的子控件也随之移动;当一个父控件不可见时,它上面的子控件也不可见。,4.2窗体属性,FormN(名称) Caption(标题) BackcolorForecolor PictureLoadPicture(例:picture1.picture=loadpicture(“myvb1.jpg”) Height,Width Left,Top Enabled,窗体事件,Click(单击) DblClick(双击) Load(装入) 把窗体装入内存工作区时发生的事件。 Load事件过程不执行Print方法Act
44、ivate事件Load事件发生后,系统产生Activate事件。 可以执行窗体的Print方法。,字体和字形,Font属性在属性窗口为对象作静态或初始状态的设置 其他属性 FontName 、FontSize 、FontBold 、FontItalic 、FontStrikethru 、FontUnderline FontTransParent 设为True,则前景与背景重叠显示;设为False,则背景将被前景覆盖。默认值为True。,4.3 标签和文本框,标签中的文本是只读文本, 文本框中的文本为可编辑文本。,标签属性,Caption(显示文本) Autosize为True时,自动调整标签的
45、大小;为False,标签保持设计时定义的大小。 Alignment 0 缺省值。从标签的左边开始显示标题。 1 标题靠右显示 2 标题居中显示,属性(续),Enabled为False ,屏蔽鼠标事件 Visible等于True(缺省值),该控件在程序运行后是可见的,等于False,这个控件运行后是不可见的。,文本框属性(续),Text(显示内容) PassWordChar当MultiLine属性为False时,该属性可用于口令输入 ScrollBars0 控件中没有滚动条,缺省值1 控件中只有水平滚动条2 控件中只有垂直滚动条3 同时具有水平滚动条和垂直滚动条 只有当MultiLine属性值为
46、True时,文本框才能添加滚动条。,文本框属性(续),SelLength当前选中的字符数 SelStart程序运行期间设定或返回当前选择文本的起始位置 SelText表示当前所选取的文本字符串。 设文本框Text1中有:Visual Basic programming 执行语句:Text1.SelText = “程序设计” Text1中显示的文本:Visual Basic 程序设计,例,Text1.Text=“abcdefgh”Text1.SelStart=3Text1.SelLength=5Print Text1. SelText执行后文本框的内容为: defgh,事件和方法,支持鼠标Cli
47、ck和DblClick事件 还有Change,LostFocus,GotFocus , KeyPress事件和SetFocus方法。 例: Text1.SetFocus Sub text1_GotFocus( )Image1.Picture = LoadPicture() End sub,4.4 图片框与图像框,图片框可以作为其他控件的父对象,而且可以通过Print方法接受文本; 图像框只能显示图形信息。,属性,Autosize 属性可用于标签,图片框(PictureBox)。为True时,图片框的边框自动调整。为False时,在图片框中的图形不会改变大小。 Stretch 属性用于图像框(Image),为True时,将自动放大或缩小图像框中的图形,与图像框的边界相适应,4.5 复选框和单选按钮属性,Value属性 单选钮为True时,该按钮是“打开”的;否则 “关闭” 复选框为0表示没有选择该复选框,1表示选中该框,2表示该复选框被禁止,