《简单VB程序设计.ppt》由会员分享,可在线阅读,更多相关《简单VB程序设计.ppt(32页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第第3章章 简单简单VB程序设计程序设计 3.1 窗体窗体3.2 标签标签3.3 文本框文本框3.4 命令按钮命令按钮3.5 数据输入输出数据输入输出3.6 注释语句、结束语句注释语句、结束语句 2/20/20231清华大学出版社【目的要求】1、掌握窗体、标签、文本框、命令按钮的常用属性、事件和方法;2、掌握设计简单的VB应用程序的方法;3、掌握在VB中进行数据的输入与输出的方法;4、理解面向对象编程的中事件的含义;5、了解VB编程中的一些书写习惯。【重点】掌握窗体、标签、文本框、命令按钮的常用属性、事件;理解事件的含义2/20/20232清华大学出版社第第3章章 简单简单VB程序设计程序设计
2、 3.1 窗窗 体体 作为与用户交互的界面,各种控件对象必须建立在窗体上。在VB6中,每当创建一个新的工程时,都会得到一个默认名为Form1的窗体。3.1.1 属性属性(1)(名称)属性 即Name属性,用来指定窗体的名称,在程序代码中用这个名称引用该窗体。(2)AutoRedraw 属性 该属性控制窗体图像的重画。只有属性值为True 时,在其他窗体覆盖然后移出此窗体后,VB才能重画此窗体内的所有图形,即重画Print、Cls、Circle等方法的输出。2/20/20233清华大学出版社(4)BorderStyle 属性 决定窗体边框式样及窗体是否能调整大小。(5)Caption 属性 设置
3、窗体标题栏显示的文本。(6)Enabled属性 用来设置窗体是否响应鼠标或键盘事件。属性值为True(默认值)时,窗体能够对用户产生的事件做出反应;属性值设为False时,窗体不响应鼠标或键盘事件。(7)Font属性 设置窗体上字体的样式、大小、字形等。(3)BackColor属性和ForeColor 属性 lBackColor属性:设置窗体的背景颜色。lForColor 属性:设置窗体的前景颜色。2/20/20234清华大学出版社(8)Height属性和Width属性 设置窗体的高度和宽度。其单位为Twip。1Twip=1/20点=1/1440英寸=1/567厘米。(9)Left属性和Top
4、属性 Left:设置窗体左边框距屏幕左边界的距离。Top:设置窗体顶边距屏幕顶端的距离。(10)MaxButton 属性和 MinButton 属性 用来设置窗体的右上角的“最大化”按钮和“最小化”按钮。属性值为True,按钮可用;为False时,按钮不可用。(11)Picture属性 设置在窗体中显示的图片。可以选择位图(*.BMP)、GIF图像、JPEG图像和ICONS等图像格式文件作为窗体的背景图片。若在程序中设置该属性的值,需要使用LoadPicture函数。Form1.Picture=LoadPicture(c:Changcheng.wmf)2/20/20235清华大学出版社(12)
5、StartUpPosition属性 指定窗体首次出现时的位置。该属性有四个设置值。0-手动:窗体出现的位置由属性Left和Top决定。1 所有者中心:UserForm 所属的项目中央。2 屏幕中心:窗体出现在显示器屏幕的中央。3 窗口默认:按照默认设置,窗体出现在屏幕的左上角。(13)Visible属性 设置窗体是否显示。属性值为True或False。True:使窗体可见。此值为默认值。False:在运行时,窗体及其上面的对象都将被隐藏。(14)WindowState属性 设置窗体运行时的大小状态。它有三个可选值:0-Normal:窗体大小由Height和Width属性决定,此值为默认值。1-
6、Minimized:窗体最小化成图标。2-Maximized:窗体最大化,充满整个屏幕。2/20/20236清华大学出版社3.1.2 事件事件 窗体最常用的有如下事件:(1)Click事件:程序运行后,单击窗体的空白区域或一个无效控件时发生。(2)DblClick事件:程序运行后,双击窗体的空白区域或一个无效控件时发生。(3)Load事件:窗体被装入内存工作区时触发该事件。Load事件过程通常用来在启动程序时对属性和变量进行初始化。(4)MouseDown事件:当用户在对象上按下鼠标键时触发该事件。(5)MouseUp事件:当用户在对象上释放鼠标键时触发该事件(6)MouseMove事件:当用
7、户在对象上移动鼠标时触发该事件。注意注意:在VB中,虽然不同的对象有不同的属性集合,但有一些属性,如Name、Enabled、Height、Width、Left、Top、Visible等,其他控件也具有,且具有相似的作用。2/20/20237清华大学出版社3.1.3 方法 窗体上常用的方法有如下三种:lPrint方法:可以在窗体上输出字符串或表达式的值。lCls方法:可以清除用Print方法在窗体上显示的文本。格式如下:对象.Cls其中:“对象”为窗体(也可是后面介绍的图片框控件),若省略则默认为当前窗体。窗体中使用Picture属性设置的背景位图和放置在窗体上的控件不受Cls方法影响。lMo
8、ve方法:用于移动窗体或控件,并可以改变其大小。格式如下:2/20/20238清华大学出版社 对象.Move 左边距离,上边距离,宽度,高度其中:对象:可以是窗体以及除菜单以外的所有可视控件,若省略对象则默认为当前窗体。左边距离、上边距离、宽度、高度:均为数值,以twip为单位。如果对象是窗体,则“左边距离”和“上边距离”以屏幕左边界和上边界为准,否则以窗体等容器内部的左边界和上边界为准。“宽度”和“高度”指定对象的新宽度和新高度。调用Move方法后将自动改变对象的Left、Top、Width和Height四个属性。2/20/20239清华大学出版社【例3.1】设计程序,用窗体模拟黑板,鼠标单
9、击时窗体上输出提问,双击时显示回答。【例3.2】在程序运行时,用鼠标单击窗体使窗体移动。2/20/202310清华大学出版社3.2 标标 签签 标签(Label)主要用于显示不需要用户修改的文本。标签不能作为输入信息的界面,其内容只能用Caption属性来设置或修改。标签常用作标题、栏目名或输入输出区域的标识。3.2.1 属性属性(1)Caption属性 (2)BorderStyle属性:设置标签有无边框。默认值为0,标签无边框;设置为1时,标签有立体边框。(3)Autosize属性:该属性用于设置标签是否自动调整大小以显示所有内容。它有True和False两种设置。True:标签控件宽度随文
10、本改变而改变,不能换行。False:标签保持设计时的大小,如果内容太长,则只能显示一部分。此为默认值。(4)Alignment属性:确定标签中内容的对齐方式。2/20/202311清华大学出版社3.2.2 事件事件 常用的事件有Click(单击)、DblClick(双击)等。【例3.3】用标签制作浮雕效果文字。利用两个标签控件,在设计时通过白色与黑色错位叠加,实现如左图所示的文字浮雕效果。(5)BackStyle属性:该属性用于设置背景是否透明。默认值为1,不透明;设为0时,透明,即无背景色。2/20/202312清华大学出版社3.3 文文 本本 框框 文本框(TextBox)是一个文本编辑区
11、域。用户可以在文本框内输入、编辑和显示文本。3.3.1 属性属性(1)Text属性:设置文本框中显示的内容。程序执行时,在框内输入的内容,会自动保存在Text属性中。(2)Locked属性:设置文本框中的内容是否可编辑。默认值为False,表示可编辑。设置为True时,不可编辑;但此时可对框内文字选择复制,而Enabled属性设为False时,连选择复制也不允许。(3)Maxlength属性:设置文本框中允许输入的最大字符数。输入的字符数超过Maxlength设定的数目后,文本框将不接受超出部分的字符。该属性默认值为0,表示无限制。(4)MultiLine属性:设置文本框是否允许接收多行文本。
12、若设置为True,则可接收多行文本,当输入的文本超出文本框的边界或按回车键时,会进行换行。默认值为False,文本框中只能输入一行文本。2/20/202313清华大学出版社3.3.2 事件 文本框支持Click、DblClick事件,但更常用的是Change和LostFocus事件。(1)Change事件 当改变文本框的Text属性的值时触发该事件。当用户键入一个字符时,就会引发一次Change事件。(5)PassWordChar属性 设置是否在文本框中显示用户键入的字符。该属性主要用于输入密码。(6)ScrollBars属性 设置文本框是否有滚动条。只有当MultiLine属性为True时,
13、文本框才能加滚动条。(7)SelStart属性、Sellength属性和SelText属性 2/20/202314清华大学出版社(2)LostFocus事件事件 当文本框失去焦点时触发该事件。焦点的丢失是由于按Tab键或单击其他对象而产生的。比在Change事件中检查更为合理有效。(3)GotFocus事件:得到焦点时触发。(4)keypress事件:当用户按下“键”时框,触发该事件。3.3.3 方法 SetFocus:该方法使之获得焦点(把光标移到指定的文本框中)。语句“Text1.SetFocus”使文本框Text1获得焦点。【例3.4】设计程序,实现以下功能。l要求在文本框Text1中输
14、入时,文本框Text2同步显示相同内容。l单击“清除”按钮,可清除文本框中的信息并使Text1获得焦点2/20/202315清华大学出版社3.4 命令按钮命令按钮 3.4.1 属性(1)Caption属性 设定命令按钮上显示的文本。可以在字母前加一个“&”符号来设置快捷键。(2)Default属性属性 设置窗体中的某一命令按钮为默认按钮。当Default属性设置为True时,按Enter键相当于用鼠标单击了该按钮。一个窗只允许有一个默认按钮。(3)Cancel 属性属性 设置窗体中的某一命令按钮为取消按钮。当Cancel 属性设置为True时,按Esc键相当于用鼠标单击了该按钮。同Defaul
15、t属性一样,一个窗只允许有一个取消按钮。(3)Style 属性属性 用来设置命令按钮的显示类型,其属性值可设置为:2/20/202316清华大学出版社0-Standard:标准的,命令按钮上不能显示图形和背景色,此为默认值。1-Graphical:图形的,可显示图形(Picture中设置)和背景色(BackColor中设置)。(4)Picture属性 设置命令按钮中要显示的图形。只有将Style 属性设置为1,图形才能在按钮上显示。3.4.2 事件 最常用的事件是Click(单击)事件。【例3.5】对语文、数学文本框的内容进行验证(只能输入0100之间的数据)l点击“计算”按钮完成计算功能l文
16、本框得到焦点时,自动选中全部文本2/20/202317清华大学出版社2/20/202318清华大学出版社3.5 数据输入输出数据输入输出 3.5.1 赋值语句赋值语句l格式格式格式1:变量名=表达式格式2:对象名.属性名=表达式(在格式2中,若对象名省略,则默认对象为当前窗体。)功能功能:把“=”右边表达式的值赋给“=”左边的变量或对象的属性。【例3.6】设计程序,窗体如下图所示。要求从上到下依次单击按钮时,给相应变量赋值,并在右侧的标签控件中显示结果。2/20/202319清华大学出版社 启动时界面 依次单击后的结果注意注意:四舍五入时,8.5会舍为8,8.51才入成9 不能把非数值形式的字
17、符串赋给数值变量,否则会产生错误 通常,在使用时应使表达式值的类型与变量(或对象的属性)类型相同,以避免出现“类型不匹配”的错误。2/20/202320清华大学出版社【例【例3.7】设计程序,用来计算三角形面积。要求可以接收用户输入的三角形三边长度,并能计算、输出三角形面积。已知三角形三边a,b,c,的长,求三角形的面积的公式为:其中p=(a+b+c)/2。l注意:注意:输入的三边长度,要符合三角形两边之和大于第三边的规则;文本框内不要输入非数值形式的的字符串(字母、汉字、空字符串等),否则会出现类型不匹配的错误。2/20/202321清华大学出版社3.5.2 Print方法及与其有关的函数方
18、法及与其有关的函数 格式格式:对象名.Print 表达式列表 功能:功能:在对象上输出表达式的值。说明:说明:“对象名”:可以是Form(窗体)、Debug(立即窗口)、PictureBox(图片框)、Printer(打印机)。如果省略“对象名”,则表示在当前窗体上输出。例如:Print 15*3=;15*3 在当前窗体上输出15*3=45Printer.Print Good 在打印机上输出Good 当输出多个表达式,各表达式之间用分隔符西文“,”或“;”隔开。“,”分隔各表达式时,各项在以14个字符位置为单位划分出的区段中输出。“;”分隔各表达式时,各项按紧凑格式输出,即各项之间无间隔地连续
19、输出。2/20/202322清华大学出版社 如果在语句行末尾有“;”,则下一个Print输出的内容,将紧跟在当前Print输出内容后面;如果在语句行末尾有“,”,则下一个Print输出的内容,将在当前Print输出内容的下一区段输出;如果在语句行末尾无分隔符,则输出完本语句内容后换行,即在新的一行输出下一个Print的内容。(4)用)用Tab函数定位输出函数定位输出 在Print方法中,可以使用Tab函数对输出项进行定位。Tab函数的格式为:Tab(n)其中n为数值表达式,其值为整数。Tab函数把显示或打印移动到由参数n指定的列数,从此列开始输出数据。例如:Print Tab(10);姓名;T
20、ab(25);年龄 则“姓名”和“年龄”分别从当前行的第10列和第25列开始输出。输出结果如下:姓名 年龄 2/20/202323清华大学出版社【例3.8】设计程序,用 Print方法的不同格式进行输出。(5)用Spc函数定位输出 Print方法中,还可以使用Spc函数来对输出进行定位,与Tab函数不同,Spc函数提供若干个空格。Spc函数的格式为:Spc(n)其中n为整数表达式,表示在显示或打印下一个表达式之前插入的空格数。Spc函数与输出项之间用“;”相隔。例如:Print 后面有8个空格;Spc(8);前面有8个空格 输出结果如下:后面有8个空格 前面有8个空格2/20/202324清华
21、大学出版社3.5.3 MsgBox函数和MsgBox语句 1.MsgBox函数可生成为用户提供信息和选择的交互式对话框。格式:MsgBox(提示,按钮数值,标题)功能:MsgBox函数在对话框中显示信息,在用户单击对话框上按钮时,可返回一个整数以标明用户单击的是哪个按钮。说明:执行下面的语句后,在屏幕上会弹出如下图所示的消息框。inta=MsgBox(第一项为提示,65,第三项为标题 )2/20/202325清华大学出版社计算“出钮数值”的方法:“按钮数值”是三个数值之和,这三个数值分别代表按钮的数目和类型,使用的图标样式,及默认按钮是什么。l注意:注意:每个表只能取一个数。例如“按钮数值”是
22、65,系统会自动把它分解成分别属于上面三个表中的三个值1(显示确定和取消按钮)、64(显示“i”图标)、0(第一个按钮为默认按钮)。65=1+64+0,这种分解是惟一的。l在程序中,可以把“按钮数值”写成符号常数相加的形式,如把65写成vbOKCancel+vbInformation+vbDefaultButton1。2、MsgBox语句:MsgBox也可以写成语句形式,例如:密码错!,错误提示 执行此语句也产生一个消息框,如下图所示。MsgBox语句没有返回值,因此常用于比较简单的信息提示。2/20/202326清华大学出版社【例3.9】用MsgBox函数建立如下图所示的“退出”对话框。2/
23、20/202327清华大学出版社3.5.4 InputBox函数函数 InputBox函数可以生成输入框来接收用户的输入。格式:InputBox(提示,标题,默认值,x坐标位,y坐标位置)功能:生成一个能接受用户输入的对话框,并返回用户在对话框中输入的信息。说明l“提示”:字符串表达式,指定在对话框中显示的提示文本,此项为必选项。若要多行显示提示信息,则可以在各行之间用vbNewLine来分隔,vbNewLine是代表换行的常量。l“标题”:字符串表达式,在对话框中标题区显示,若省略,则标题为应用程序名。l“默认值”:字符串表达式,指定输入框中的文本框里显示的默认文本。l“x坐标位置”:整数表
24、达式,指定输入框的左边与屏幕左边的水平距离,单位为Twip。如果省略此项,则对话框会在水平方向居中。2/20/202328清华大学出版社注意:注意:l各项参数次序必须一一对应,除了“提示”不能省略外,其余各项均可省略,但省略部分有时要加入相应的逗号占位符。l用户可在文本框中输入数据,按“确定”按钮,函数返回值是用户在文本框中输入数据,其类型为字符型;如果按“取消”按钮,则函数返回值是一个零长度的字符串(空字符串)。l“y坐标位置”:整数表达式,指定输入框的上边与屏幕上边的水平距离,单位为Twip。如果省略此项,则对话框被放置在屏幕垂直方向距下边大约三分之一的位置。【例3.10】通过InputB
25、ox函数输入两个数字存入变量a、b,然后将其互换。2/20/202329清华大学出版社3.6 注释语句、结束语句注释语句、结束语句3.6.1 注释语句注释语句格式:|Rem 功能:可以实现在代码中加入用来解释说明的附加文本。说明:如果在其他语句行后使用“Rem”关键字,则必须使用西文冒号“:”与语句隔开。可以用一个撇号“”来代替“Rem”关键字。若使用撇号,则在其他语句行使用时不必加冒号。3.6.2 结束语句结束语句格式:End功能:用来结束程序的执行,并关闭已打开的文件。说明:End语句提供了一种关闭程序的方法。执行此语句,会卸载程序中的所有的窗体,关闭由Open语句打开的文件,释放程序所占
26、用的内存。2/20/202330清华大学出版社3.7 良好的编程习惯良好的编程习惯1.VB代码不区分字母的大小写 2.语句书写自由(1)在同一语句行上,可以书写多个语句,语句之间用冒号“:”分隔。(2)一个单行语句可以分为若干行书写,书写时在本行后面加上续行符,即加上空格和下划线“_”。(3)一行最多允许书写255个字符。3.可以在语句中给出注释4.使用缩排格式5.语句可以使用行号与标号 行号由数字组成,而标号是以字母开始,以冒号结束的字符串。它们一般用在转向语句中,但对结构化程序设计语言,转向语句应限制使用。2/20/202331清华大学出版社另:另:本书在说明语法格式时采用以下约定:必选项
27、:用尖括号括起来,或不使用任何符号。可选项:用方括号 括起来。多项选一:各选项之间用竖线|隔开。上述符号只是为了便于解释语法格式,在实际代码中不应包含这些符号。6.显式声明变量 尽管VB6.0允许隐式声明变量,但是为了避免写错变量名引起麻烦,导致出现难以查找的错误,建议读者养成对变量进行显式声明的良好习惯。方法一:方法一:在模块的声明段中加入“Option Explicit”语句,可以强制编译器发现所有未声明的变量。方法二:方法二:可以执行【工具】菜单中的【选项】命令,打开【选项】对话框,在【编辑器】选项卡中选定【要求变量声明】前面的复选框,单击【确定】按钮完成设置。2/20/202332清华大学出版社