【文档说明】VisualBasic程序设计第2章VB可视化编程初步.ppt,共(61)页,450.523 KB,由小橙橙上传
转载请保留链接:https://www.ichengzhen.cn/view-2462.html
以下为本文档部分文字说明:
2022/11/121VisualBasic程序设计2022/11/122第二讲VB可视化编程初步2022/11/123[内容简介]•本章以一个简单的时钟应用程序开发为主线:–详细介绍窗体、文本框、标签和命
令按钮等常用控件–事件和事件过程以及事件驱动程序设计的基本原理–MsgBox函数、赋值语句的使用方法。•通过本章的学习,你将熟悉VisualBasic开发应用程序的全过程,领略到VB可视化编程的魅力,为进一步深入学习奠
定基础。2022/11/124[学习目标]–掌握VB应用程序开发的一般步骤。–掌握命令按钮、文本框和标签的使用和MsgBox函数的用法。–理解赋值语句、变量的概念,理解对象、属性、方法和事件的概念及其之间的区别和联系,理解事件驱动的原理。–了解时钟程序的
工作原理。2022/11/1252.1“时钟程序”任务在实际工作中,为了准确的控制时间,经常需要用到计时器,现在我们就来创建一个倒计时的简单应用程序。该程序的功能是:当在文本框内输入倒计时的分钟数后,单
击“开始”按钮就开始倒计时,倒计时结束时,弹出“时间到!”的信息框。2022/11/126任务描述界面设计代码设计保存和运行程序编译与打包安装运行VB应用程序开发的一般步骤时钟程序任务时钟程序任务任务描述程序运行:出现输入分钟数时间到:出现2
022/11/1272.1.1任务描述启动界面2022/11/128输入1分钟数字界面2022/11/129倒计时进行中界面2022/11/1210倒计时结束界面2022/11/12112.1.2界面的设计1新建工程并创建窗体启动VB
在“新建工程“对话框中,选择“标准EXE”单击“打开”。2向窗体中添加控件调整窗体的大小为合适,向窗体中添加:一个标签、一个文本框、一个命令按钮和一个计时器控件。2022/11/1212通过鼠标单击“工具
箱”中的控件,在窗体上划出相应的控件。2022/11/12133设置对象属性(1)单击Form1窗体,选定它。在属性窗口中选中Form1,将Caption的属性改为“倒计时器”(2)单击窗体上的“Label1”控件,将C
aption的属性改为清输入倒计时的分钟数,将Autosize属性改为true(3)将命令按钮command1的Caption属性改为“开始“。(4)将text1的Alignment属性改为“2-center”.(5)将计
时器控件timer的Interval的属性值设为1000(1秒),Enabled属性设为False.2022/11/12142.1.3代码设计(1)代码编辑器“通用”区代码DimmAsLong‘声明一个变量(2)Command1控件代码Pr
ivateSubCommand1_Click()'使计时器控件开始工作Timer1.Enabled=True'将分钟数转换为秒数,并保存在m变量中m=Val(Text1.Text)*60'改变标签控件的标题Label1.Caption="现在开始倒计时"
'使用命令按钮不可见Command1.Visible=FalseEndSub2022/11/12152.1.3代码设计(3)Timer1控件代码PrivateSubTimer1_Timer()'当Timer1.Enabled=Ture是,本
程序每秒自动执行一次'每运行一次,就将m变量的值减1秒m=m–1Ifm<0Then'如果倒计时结束(即m=0)则:Timer1.Enabled=False'关闭计时器MsgBox"时间到!",0,"倒计时"Label1.Caption="请输入计时的分钟数"Text1.Text=""
'清空文本框Command1.Visible=True''使命令按钮可见Else'否则显示倒计时数Text1.Text=mEndIfEndSub2022/11/12162.1.4保存和运行程序–1.保存工程•单击“文件”菜单中的“保存工程”–2.运行程序•
单击工具栏中的启动按钮,或者按F5键开始运行该应用程序。2022/11/12172.1.5编译与打包–1.编译应用程序•单击“文件”菜单中的“生成Timer.exe”选项–2.打包•创建一个安装程序来发
布文件•Package&Deployment向导2022/11/12182.1.6VB应用程序开发的一般步骤–1.设计应用程序界面–2.设置对象属性–3.编写代码–4.保存和运行工程–5.编译与打包–6.安装运行2022/11/12192.2程序代码分
析2.2.1变量是指在程序运行过程中其值可以改变的那些量。当执行了Dim语句后,VB程序就会在计算机内存中预留一个区域,准备存放数据。变量命名规则:–第一个字符必须是字母–其它字符只能是字母、数字、下划线–最后一个字符可以是类型说明符–变量名最长可达255个字
符–不能与保留字重名,如Input–尽量使用有意义的名字2022/11/1220声明变量–隐式声明:变量不经声明直接使用,此时该变量将被赋予缺省的类型和值如:class=3'class为整型name="张三"'name为字符串–显式声明:变量声明后再使用
强制显式声明–工具/选项/编辑器/要求变量声明–代码编辑器/对象列表中选通用,在声明区加入声明optionexplicit2022/11/1221使用Dim语句声明变量一般格式:Dim变量名As变量类型例:DimnumAsInteger'声明num为整型变量Dimtes
tAslong,todayAsDate'同时声明test为长整型,today为日期型DimstrAsstring,value'声明str为一变长字符串,value为不定类型2022/11/1222全局变量的声明全局变量是可以在工程中的所有程序模块使用的变量。使用关键字Public
和Global如:Publictest1AsIntegerGlobaltest2AsByte2022/11/1223表VB的标准数据类型数据类型类型名称类型声明字符所占字节字节型Byte10~255布尔型Boolean2整型Interger%2长整型Long&4单精度
型Single!4双精度型Double#8货币型Currency@8日期型Date8对象型Object4变长字符串型String$字符串长度,1字节/字符定长字符串型String*Num$Num可变类型Variant不定2022/
11/12242.2.2赋值语句格式:变量名=表达式或对象名.属性名=表达式注意:1、不要把赋值号“=”与数学中的等号相混淆m=m-12、赋值号“=”左边必须是变量名或对象属性,“=”右边是表达式,其值可以是常量、变量、函
数或是它们的混合运算式m=val(text1.text)*60z=x+yb=1c=b*2+2label1.caption=“现在开始倒计时”2022/11/12252.2.3MsgBox语句和函数的使用MsgBox函数的格式:变量
=msgbox(提示信息[,对话框类型[,对话框标题]])MsgBox命令语句的格式:msgbox提示信息[,对话框类型[,对话框标题]]MsgBox函数各参数使用与MsgBox语句函数相同,但是MsgBox语句没有返回值
。2022/11/1226参数说明:(1)“提示信息”指定在对话框中出现的文本。(2)“对话框标题”指定了对话框的标题。(3)“对话框类型”是可选项,用来指定对话框中出现的按钮和图标,见(p32表2.1、表2.2、表2.3),该参数的值有三类数值相加产生,这三类数值分别
表示按钮的类型、显示图标的种类和默认按钮的位置。msgbox“时间到!”,0,”倒计时”(4)函数返回值见p32表2.42022/11/1227编写程序利用MsgBox函数创建对话框PrivateSubForm_Click()msgtitle$="考生登录信息提
示"msg1$="准考证号输入有误,请重新输入正确的号码!"w=MsgBox(msg1$,37,msgtitle$)PrintwEndSub2022/11/1228例如:执行下列语句privatesubcommand1_click()msgbox(“除数不能为0!”,vbokca
ncel,”输入数据错误”)endsubP33例如:执行下列语句privatesubcommand1_click()a=msgbox(“密码不正确”,2+32+0,”标题”)ifa=3thenend‘如果选择了“终止”按钮则程序结束endifendsubP332022/
11/1229例如:执行下列语句privatesubcommand1_click()msgbox“密码不正确,”+chr(13)+”请重新输入!”endsubP332022/11/12302.3窗体及基本控件2.3.1对象的概念、属性、事件及方法1对象的概念简单的说,对象就是代码和数据的封
装体。VB中,我们将窗体、标签、文本框、命令按钮和时钟控件等都可以理解为对象。2属性属性是一个对象的基本特征,每一个对象都有自己的属性。常见的对象的属性有标题(Caption)、名称(mane)、颜色(color)、字体(font)、是否可见(V
isible)等。2022/11/1231各属性通常都有默认值,如果不改变采用默认值。(1)在设计阶段,通过属性窗口来改变各属性值。(2)在程序代码中,使用赋值语句设置对象的属性格式:对象名.属性名=属性值例如:
Label1.Caption=”现在开始倒计时”2022/11/12323方法一般说,方法就是要执行的动作,可理解为VB提供的一种特殊的过程和函数,已将一些通用的函数和过程编写好并封装起来,如:打印(print)、显示
窗体(show)、清除(cls)和移动(move)等调用对象的方法格式为:对象名.方法名例如:form1.print“你好!”4事件事件就是在对象上发生的事情,在VB中,系统是预先为每个对象定义好了一系列事件.例如:单击事件(click)、双机事件(dblclick)、装入事件(loa
d)、改变事件(change)和鼠标移动事件(mousemove)等.鼠标单击(事件)命令按钮(对象)调用打印(方法)2022/11/12332.3.2窗体(Form)窗体的结构2022/11/12342.3.2窗
体窗体(Form)是用户界面最基本的构造模块,也是创建应用程序所使用的主要对象之一。窗体有自己的属性、事件和方法,以便控制窗体的外观和行为。窗体又是其他对象的载体和容器,几乎所有的控件都是在窗体上的。窗体运行以后,就是应用程序的窗口。2022
/11/12351窗体的基本属性设置窗体的属性有两种方法,一种使用属性窗口,另一种是在代码编辑器中使用代码命令。常见的窗体属性有以下几种:(1)Name属性用于设置窗体名称,默认名称为Form1,Name属性只能在属性窗口中设置。(2)Caption属性用于设置
显示在标题栏上的窗体的标题,在属性窗口和代码编辑器均可设置。其默认值同窗口名称相同。如:窗体名称.Caption=”标题”2022/11/1236(3)MaxButton和MinButton属性各有两个属性True和False,分别表示标题栏上是否有最大化和最小
化按钮.(4)BorderStyle边框样式属性表2.5所示(5)Picture属性设置窗体上要显示的图片,可以用语句:对象.picture=loadpicture(“文件名”)(6)Icon属性用于设置窗体标题栏上的
图标.(7)visible属性用于设置窗体是否可见.(8)WindowsState属性用来设置窗体运行时窗体的显示状态0-Normal,1-Minimized,2-Maximized2022/11/12372窗体的常用方法(1)show方法用于快速先是一窗体,与窗体的visible属性
设置位为true一样.Form1.showForm1.visible=true(2)Hide方法其功能是隐藏窗体,与窗体的visible属性设置位为false一样Form1.HideForm1.visible=false(3)print方法用于在窗体
或图片框上输出文本privatesubform_load()dbug.print“print方法可以在窗体上打印文本”endsub.2022/11/1238(4)cls方法用于清除运行时在窗体和图片框中显示的文本和图片.picture.cls‘清除图片框中的图片c
ls‘清除窗体上的文本(5)move方法将窗体已到指定位置,如:form1.move(0,0)将窗体一到左上角。2022/11/12393窗体的常用事件窗体的常用事件有(通过代码编辑器)(1)clic
k单击事件单击窗体是发生(2)DblClick事件双击窗体是发生。(3)load事件装在窗体是发生。(4)Unload事件当单击窗体上的”关闭”和或使用Unload语句时触发该事件.(5)Activate和
DeActivate事件当一个窗体变成活动窗体时,就会触发Activate事件.当窗体不再是活动窗体时就会触发DeActivate事件2022/11/12404窗体事件演示程序事例:设计一窗体,是标题栏上无
最大化和最小化按钮;运行后将窗体的颜色设置为黄色;单机窗体时窗体变宽;双击窗体时退出.2022/11/12412.3.3命令按钮其主要功能是通过命令按钮来调用Click事件过程。控制开始、中断、结束一个进程。1、常用属性Enabled:允许程序在运行时使窗体和控件成为有效或无效object.E
nable[=boolean]Visible:允许在程序运行时隐藏一个对象object.Visible[=booleanStyle:设置按钮外观。0为标准Windows风格,1为允许带有自定义图片Picture:Style为1时,指定粘贴到按钮上的图形文件De
fault:属性为True时,指定为窗体缺省按钮Cancel:属性为True时,指定为窗体缺省取消按钮2022/11/1242例如:OptionExplicitPrivateSubForm_Load()Text1.Text=""Command1.
Caption="save"EndSubPrivateSubText1_Change()IfText1.Text=""ThenCommand1.Enabled=FalseElseCommand1.Enabled
=TrueEndIfEndSub2022/11/12432、常用方法SetFocus方法3、常用事件Click(单击)Click事件,以下情况可发生Clicl事件:(1)在按钮上单击鼠标。(2)焦点在按钮上,按空格键或回车键。(3)在代码中将按钮Va
lue属性设置为True(4)对于取消按钮按Esc键(5)在Caption属性中用&符号链接一访问键,在运行时按Ali+访问键。2022/11/12442.3.4标签标签现实不能编辑的信息。1常用属性(1)AutoSize当值为true时自动
调节内容大小以适应其内容。当值为false时,不能改变大小。(2)Alignment属性标签内文本的对齐方式,标2.7所示(3)BordeStyle属性标签的边框,默认值为0,无边框。属性设为1右边框。2022/11
/1245(4)Backstyle属性用来设置标签是否透明,0透明,1不透明,默认值为1。(5)wordwrap属性用来设置标签中的内容是否能够显示多行。缺省为false,设为true可显示多行。2常用方法常用方法有move方法实现控件的移动。20
22/11/1246其他用法用标签来显示时间Label1.Caption=Time在标签中同时显示两行以上的字符串Label1.Caption=Time&Chr(13)&Chr(10)&Date2022/11/12472.3.5文本框(Textbox)•1.常用属性–(1)Text属
性–(2)MultiLine属性MultiLine属性为TrueMultiLine属性为False2022/11/12482.3.5文本框(Textbox)•1.常用属性–(3)PassWordChar(a)(b)2022/11/12492.3.5文本框文本
框控件一般用于接收用户输入信息,用户可以在文本框中编辑信息。1常用属性(1)text属性用来设置文本框中的内容。(2)MultiLine属性MultiLine属性用来决定文本框是否可输入多行文本。默认为false,设为true可输入多
行。(3)PasswordChar属性用于密码输入,设置为*,显示为*。2022/11/1250(4)ScrollBars属性用于设置文本框是否有滚动条如表2。8只有当MultiLine属性为true时滚动条才有效。(5)
locked属性用于设置文本框的内容是否可以编辑,默认值为false表示可编辑,值为true表示锁定。2022/11/12512常用方法常用的方法为Setfocus设置焦点,将光标从其它位置移到文本框中。3常用事件(1)Chang事件,改变文本框中内容改变
时发生的事件(2)KeyPress事件,当用户按下并且释放键盘上的一个键时,发生KeyPress事件。该事件将返回一个KeyAscii参数值.(3)LostFocus和GotFocus事件:表示文本框控件shiqu和得到焦点是所发生的事件。2022/11/12522.4事件驱动2
.4.1事件驱动的程序设计事件驱动的应用程序,程序的执行发生了根本的变化,代码不是按预定的路线执行,而是在响应不同的事件时执行不同的代码片断。每个对象都有一个相应的事件集每个事件的发生都要执行一段程序代码,时间可以由用户操作触发,也可以有操作系统或其他应用程序的消息触发,甚至可以由应用程序本身的消
息触发。2022/11/12532.4.2VB的对象如何识别事件代码部分与每个事件相对应,如果让控件对象响应事件,就把代码写入这个事件的事件过程中.2.4.3事件驱动的工作过程事件驱动的工作过程(1)启动应用程序,装载和显示函数。(2)窗体和窗体上
的控件等待时间的发生。事件可以由用户引发,可由系统引发,也可由代码间接引发。(3)当某个事件发生后,执行其对应的事件过程代码。(4)重复执行第2和第3步,直到结束。2022/11/1254五、计时器控件的一般用法如果想通过事件来控制某些操作或用于计时,就可以用计时器(Timer)控
件来实现。计时器控件在设计时可见,而在运行时则隐藏起来,但在后台每隔一定的时间间隔就执行一次Timer事件。(一)常用属性1、Interval属性返回或设置对Timer控件的计时事件各调用间的毫秒数语法:object.Interval[=milliseconds]millisecond
s:0使Timer控件无效;1~65535可设置的时间间隔范围2、Enable属性:用来决定计时器控件是否能够响应计时事件。相当于启动或关闭计时器的开关。2022/11/1255(二)Timer事件Timer事件是计时器的唯一事件。在一个Timer预定时间间隔过去之后发生
,用以告诉VB在每个Interval到时该做什么。语法:PrivateSubobject_Timer([indexAsInteger])程序代码EndSub2022/11/1256本章习题一、单项选择题1.在VisualBasic的集成开发环境中创建VisualBasic应用程序时,除了工具箱窗口
、窗体设计窗口、属性窗口外,必不可少的窗口是()。A.窗体布局窗口B.立即窗口C.代码窗口D.监视窗口2.应用程序打包后,其包文件的后缀为()。A..exeB..cabC..txtD..ocx3.当运行程序时,系统自动执行启动窗体的()事件过程。A.LoadB.ClickC.Unl
oadD.GotFocus2022/11/12574.下列赋值语句正确的是()A.A=B+CB.B+C=AC.-B=AD.2=A+B5.时钟控件响应的事件是()A.TimerB.IntervalC.ClickD.Enabl
e6.工程文件的后缀是()A..bmpB..vbpC..frmD..bas2022/11/1258作业•1.时间换算程序。设计一个时间换算程序,要求输入小时数、分钟数和秒数后,单击计算按纽输出共计秒数。程序运行界面如图1所示。图1程序运行界面2022/11/1259•2.除法计算程序,编写
求两个数相除的程序,若除数为零,用消息对话框提示重新输入。程序运行界面如下图2所示。。图2.程序运行界面2022/11/1260•3.角度转换程序。设计一程序,要求在文本框中输入角的弧度值,按“转换为角度”按纽,文本框中角的弧度值转换为角度值,程序运行界面如图3所示。图3角度转换程
序运行界面2022/11/1261•本讲结束!