第四至五课 (四)窗体的设计
授课方式:讲授法 授课学时:1学时 教学目的:
通过本次课的学习,学生应该掌握窗体的常用属性、事件和方法,掌握多种窗体的建立方法,学会设置启动窗体和启动工程。 教学重点和难点:
1.窗体的常用属性、常用事件以及窗体的五种方法; 2.多重窗体的建立 教学过程:
4.1 窗体的属性、事件和方法
一、窗体的常用属性
介绍窗体的Name属性、Picture属性和AutoRedraw属性 二、窗体的常用事件
通过例题来详细讲解窗体的以下几种常用事件
——Load事件与Unload事件;Click事件与DblClick事件;KeyPress事件、KeyDown事件和KeyUp事件;MouseMove事件、MouseDown事件和MouseUp事件;Resize事件;Activeate事件与Deactivate事件 1.事件的具体应用情况 2.触发事件的条件 三、窗体的常用方法
通过例题使学生掌握以下五种方法的应用Cls方法、Hide方法与Show方法、Move方法和Print方法
1.每个方法的具体功能和用途 2.方法调用的语法格式
4.2 多 重 窗 体
一、 设置启动窗体
使学生掌握启动窗体设置的步骤 二、 设置启动工程
使学生掌握启动工程设置的两种方法 学生作业:
上机实验二:窗体的使用
(五) 文本框和标签
授课方式:讲授法 授课学时:1学时 教学目的:
通过本次课的学习,学生应该能会使用文本框处理字符信息,能灵活使用文本框的属性、方法和事件,掌握使用标签控件显示字符信息的方法,并且能够灵活使用标签控件的属性、方法和事件。 教学重点和难点:
1.文本框控件的属性、方法和事件; 2.标签控件的属性、方法和事件。 教学过程:
第1节 文本框和标签 一、 文本框控件(Textbox) 1.介绍文本框在VB中的用途。 2.掌握以下9个文本框的主要属性
(1)Text、(2)MaxLength(3)MultiLine(4)ScrollBars(5)Locked(6)SelStart(7)SelLength(8)SelText(9)PasswordChar
3.掌握文本框的一个主要方法——SetFocus方法 (1)本方法的应用情况
(2)它的语法格式:[对象.] SetFocus 4.掌握文本框的4个主要事件
——Chang事件、KeyPress事件、LostFocus事件和GotFocus事件 (1)掌握事件的应用情况 (2)掌握触发事件的条件 5.举例说明
讲解一道利用文本框来实现复制、剪贴和粘贴功能的例题,通过此例题的讲解使学生更加熟练的掌握有关文本框控件的常用属性、方法和事件。 二、 标签控件(Label)
1.介绍标签在VB中的用途以及它的实际应用环境。 2.掌握以下4个标签的主要属性:
(1)Alignmen(2)AutoSize(3)borderStyle(4)Caption 3.掌握标签的3个主要事件
——Click事件, DblClick事件以及Change事件 (1)掌握事件的应用情况 (2)掌握触发事件的条件 学生作业:
上机实验三:文本框和标签
[讲稿]
(四) 窗体的设计
4.1 窗体的属性、事件和方法
4.1.1 窗体的属性
一.Name(名称)属性
是所创建对象的名称。首次在工程中添加窗体时,窗体的名称被缺省为Form1.第二个为Form2.
在给某一个窗体命名时,最好给Name属性设置一个有实际意义的名称,一般加一个前缀frm..
Name属性用于在编写你码时代表该窗体,它在运行时是只读的、 Name属性的命名规则与标识符的类似,详见52页。 二.Picture属性
设置在窗体中显示的背景图片,可以静态设置,也可动态设置(即写代码) 在代码中设置属性的值的格式为
〔Object.〕Picture=LoadPicture(“filename”)
其中Loadpicture是一个函数,filename是该文件的完整路径。Object可以是窗体、图片框和图像框等。
三.Autoredraw 属性
返回或设置从图形方法到持久图形的输出。 图形方法有:Circle. Cls. Line Print 等。
持久图形:指存储在内存中的图形方法的输出。其值为Ture时,所绘制的图形是持久的 4.1.2窗体的事件
一.Load事件与Unload事件 1.Load事件
在一个窗体被装戴时发生,当使用Load语句启动应用程序,或引用未装载的窗体属性可控件时,此事件发生。
Load事件过程用来包含窗体的启动代码,指明要装入Combobox或Lisbox控件的内容。以及初始化窗体级变量等。 2.Unload事件
在窗体从屏幕上删除时发生。
当使用控制菜单中的关闭命令我或Unload语句关闭该窗体时,Unload事件被触发。 Load事件与Unload事件的举例说明,见教材59页例9 二.Clickgk 事件与Dbl Click事件 1.Click事件
当用户在一个对象上单击鼠标左键时发生Click事件。
对于一个Form对象来说,Click事件在单击一个窗体的空白区或一个无效控件时发生。 2.DdlCick事件
当用户在一个对象上双击鼠标左键时触发Dbl Click事件。
对于一个Form而言,当双击窗体的空白区或被禁用的控件时,Dbl Click事件发生。 三.Mouse Move, Mouse Down和Mouse Up事件 1.MouseMove事件
由用户在窗体内移支鼠标的操作触发。
当鼠标位置在对象的边界范围内时,该对象就接收Mouse Move事件。 2.MouseDown和Mouse Up事件
在按下(Mouse Down)或释放(Mouse Up)鼠标按钮时发生 四.Key Press , Key Down 和Key UP事件 1.KeyPress事件
当用户按下和松开一个ANSI键时发生的事件,用户以通过键盘操作触发该事件。 2.KeyDown和KeyUp事件
当一个对象具有焦点时,按下(Key Down)或松开(Key Up)一个键时发生的事件。 举例说明:教材62页例12 五.Resize事件
当一个对象第一次显示或当一个对象的大小改变时发生的事件,用于重新调整其中对象的位置和尺寸。
六.Activate事件与Deactivate事件 1.Activate事件
仅当一个对象成为活动窗口时发生 2.Deactivate事件
仅当一个对象不再是活动窗口时发生 4.1.3窗体的方法 一.Cls方法
Cls方法用清除运行时在窗体或图形柱中显示的文本或图形。形式如下: [对象.] Cls
其中:“对象”为窗体或图形框,省略对象时为窗体 例1.
Picture1.Cls ’清除图形柱内显示的图形或方本 Cls ’清除窗体上显示的文本 注意:
1.Cls方法只清除运行时在窗体或图形框中显示的文本或图形,不清除窗体在设计时的文本和图形
2.Cls方法使用后,Current X和Current Y属性均被设置为0 举例说明:见教材64页例14 二.Hide方法与Show方法 1.Hide方法
Hide方法用于隐藏窗体对象。
隐藏窗体就是将窗体从屏幕上删除,并将其Visible属性设置为False 格式:[对象.] Hide 2.Show方法
用于显示窗体对象 格式:[对象.] Show
三.Move方法
用于移动窗体或控件,并可改变其大小 形式如下:
[对象.] Move 左边距离[,上边距离,宽度[,高度]] 其中:
对象:可以是窗体及除时钟,菜单外的所有控件,省略对象时为窗件。
左边距离,上边距离,宽度,高度:数值表达式。如果对象是窗体,则“左边距离”和上边距离“以屏慕左边界和上边界为准,否则以窗体的左边界为准,给出宽度和高度表示可改变其大小。 四.Print方法 1.Print方法的作用 在对象上输出信息 2.Print方法的形式
[对象.] Print[{Spc(n)|Tab(n)}[表达式列表][:|,] 其中:
对象:可以是Form, Picture Box或Pinter,或省略了对象,则在Form上输出 Spc(n)函数:输出时从当前打印位置起插入n个空格
Tab(n)函数:输出表达式定位于第n列(从对象界面最左端第1列开始计算的第n列) 表达式列表:要输出的数字或字符串表达式,若省略则输出一个空行,多个表达式之间用空格,逗号,分号分隔。开始打印的位置是由对象的Current X和Current Y属性决定的,默认为打印对象的左上角(0,0)
;(分号):表示光标定位在上一个显示的字符后
,(逗号):表示光标定位在下一个打印区的开始位置处,打印区每隔14列开始。 无“;”或“,”表示输出后换行 注意:
一般Print方法在Form_Load事件过程中无效,原因是窗体的AutoRedraw属性默认为False,若在窗体设计时在属性窗口中将Auto Redraw属性设计为True,则就有效 例:用Print方法输出图形,程序运行结果如下图
Private Sub Form_Click() From i = 1 To 5
Print Tab(i) ; String(6-i,“ ”);_ Spc(6);String(I,“ ”) Next I End Sub
4.2 多重窗体
一.设置启动窗体
在缺省情况下,应用程序中的第一个窗体被指定为启动窗体。如果想在应用程序启动时显示另外的窗体,那么就得改变启动对象。
要改度启动对象,请按照以下步骤执行: 1.“工程”菜单 “工程属性”; 2.“通用”定项卡;
3. 在“启动对象”列表框中,选取要作为新启动窗体的窗体; 4. 点击“确定”。 二.没有启动窗体时的启动
在标准模块中创建一个名为Main的子过程。 如下例子: [例]:Main 过程设计 Sub Main ()
Dim inStatus As Integer InStatus=Get user Status If intstatus=1 Then frmMain.Show Else
frmPassword.Show End If End Sub △过程~(方法) Sub过程:不返回值 Function过程:返回值
Property过程:返回并指定值,以及设置对象引用 (一)子过程~Sub过程
Sub过程是在响应事件时执行的代码块。子过程的语法是: [Private|Public][Static]Sub过程名(变量) 语句块 End Sub
可将子过程放入标准模块,类模块或窗体模块中。 1.通用过程:
告诉应用程序如何完成一项指定的任务。一旦确定了通用过程,就必须专由应用程序来调用。 2.事件过程:
当VB中的对象一个事件的发生做出认定时,便自动用相应事件的名字调用该事件过程。 因为名字在对象和代码之间建立了联系,所以说事件过程是附加在窗体和控件上的 一个控件的事件过程由控件的实际名字(Noune属性),下划线和事件名组合起来。 一个窗体事件过程将词汇“Form”,下划线和事件名组合起来。 [例]编写一个两个数交换的过程,并供主程序调用 解:Swap (x,y)子过程的定义 Public Sub Swap(x,y)
Dim t t=x x=y y=t End Sub
主程序调用Swap子过程 Private Sub Form_Click() Dim a,b a=10 : b=20 Swap a,b
Print “a=”;a,“b=”;b End Sub
程序运行后显示:a=20,b=10 3.子过程的调用 有两种形式:
形式一:Call子过程名[(实参列表)] 形式二:子过程名[实参列表]
若实参要获得子过程的返回值,则实参只能是变量,不能是常量,表达式及控件名。 (二)函数过程见明126页 1.函数过程的定义(有两种方法)
(1)利用“工具”菜单下的“添加过程”命令定义 操作如下:
在窗体或模块的代码窗口中选择“工具”菜单 “添加过程”命令” “添加过程”对话框;
在“名称”中输入函数过程名(不许有空格)。 (2)利用代码窗口直接定义 自定义函数过程的形式如下:
[Static][Public|Private] Function 函数过程名([参数列表])[As类型] 局部变量或常数定义
<语句块> 函数过程体 函数名=返回值 <语句块> End Function 其中:
函数过程名:命名规则与变量命名规则相同 As类型:函数返回值的类型,默认返回变体型
参数列表形式:变量名[As类型],[变量名[As类型]]··· 在函数体内至少对函数名赋值一次 2.函数过程的调用
形式:函数过程名([参数列表])
注:由于函数过程名返回一个值,帮函数过程不能作为单独的语句加以调淫,必须作为表达式或表达式中的一部分,再配以其他的语法成分构成语句。 [例] 已知多边形各条边的长度,要计算 多边形的面积 三角形面积 area=c(cx)(cy)(cz) 其中:x,y,z为任意三角形的三条边 c为周长的一半,即c解:’定义计算三角形面积的函数过程 Public Function area(x!,y!,z!)As Single Dim c! c=1/2*(x+y+z)
area=Sqr((c*(c-x)*(c-y)*(c-z)) End Function ’计算多边形的面积 Private Sub Form_Click()
Dim a!,b!c!,d!,e!,f!,g!,s1!,s2!,s3! a=InputBox(“a”):b=InputBox(“b”) c=InputBox(“c”):d=InputBox(“d”) e=InputBox(“e”):f=InputBox(“f”) g=InputBox(“g”) s1=area(a,b,c) s2=area(c,d,e) s3=area(e,f,g) Print s1+s2+s3 End Sub
(五) 文本框和标签
一、标签(label)
1、作用:用来显示文本信息,但是不能作为输入信息的界面,通 常用标签来标准本身不具有Caption属性的控件。 2、主要属性:见教材73页(1)~6 3、事件:
标签经常接收的事件有:Click,Dblclick和Change。 写事件过程。
但实际上标签仅起到在窗体上显示文字作用,因些一般不需编 二、文本框(TextBox)
1、用途:在程序运行时显示用户输入的信息 2、主要属性:
(1)Text:文本框无Caption属性,显示的正文内容存放在Text属性中。
1(xyz) 2(2)Maxlength:指明文本框中能够输入的正文内容的最大长度。若值为0:任意长字符串 注意:在VB中字符长度以字为单位,也就是一个西文字符与一个汉字都是一个字,长度为1,占两个字节。
(3)MultiLine:为True时,可以输入或显示多行正文 (4)ScroUBars:是否有滚动条
(5)Locked:指定文本框是否可被编辑,默认值为False表示可编辑;当设置为True时,相当于标签的作用
(6)SelStart.SelLength和SelText:运行时属性在程序运行中,对文本框内容进行选择操作时,这三个属性用来标识用户选中的正文。
SelStart:选定的正文的开始位置,第一个字符的位置是0,依次类推 SelLength :选定的正文长度 SelText:选定的正文内容
注意:设置了SelStart和 SelStart属性后,VB会自动将设定的正文送入SelText存放 (7)PasswordChar:见教77页 3、事件
(1)Chang事件:
当用户输入新内容或当程序将Text属性设置新值,从而改变文本框的Text 属性时会引发该事件。
当用户输入一个字符时,就会引发一次Change事件。Eg用户输入“Hello”一词时,就引发了5次Change事件 (2)LostFocus 事件
在一个对象失去焦点时发生,移动制表键(Tab)或单击另一个对象都会发生LostFours事件。
此事件过程主要是用来对数据更新进行验证和确认,常用于检查Text属性的内容。 (3)GotFous事件
当一个对象获得焦点时发生。 4、方法
SelFocus方法~把光标移动到指定的文本框中。 形式:〔对象〕SetFocus
SetFocus还可以用于CheckBox CommandBulton 和ListBox等控件。教材例3和例4 77~79页
因篇幅问题不能全部显示,请点此查看更多更全内容