




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Visual Basic程序设计教程,内蒙古科技大学实践训练中心,第二章 Visual Basic 程序设计概述,2.1 程序设计方法发展简述,计算机软件开发历史,结构化程序设计(C,Pascal),高级语言(Fortran,Basic),汇编语言,二进制代码(机器语言),面向对象程序设计,结构化程序设计,早期程序设计,面向对象程序设计(C+),可视化程序设计(VB,VC等),2.1.1 早期的程序设计,20世纪50年代用机器语言编写代码。程序员重复处理0与1不得不花费大量的时间来编制与调试程序。 采用符号指令的汇编语言代替了机器语言。 高级语言简化了程序设计。用高级语言编写的程序与机器无关;
2、程序员摆脱了机器本身的特性限制,精力只集中于算法。 20世纪70年代初期,大型系统软件(如操作系统、数据库等)给程序设计带来了新的问题。促使人们对程序设计方法进行研究,从而提出了应该如何设计程序,设计程序的基本指导思想是什么,采用什么样的程序设计方法为好等问题。,2.1 程序设计方法发展简述,2.1.2 结构化程序设计,1969年荷兰科学家Dijkstra提出了结构化程序设计的思想与概念。 结构化程序设计基本思想: 程序的结构规定为:顺序、选择和循环三种基本结构;限制使用GOTO语句,采用自顶向下、逐步求精、模块化程序设计原则,将大型系统分解为功能独立的模块,使其最终转化为上述三种基本结构。
3、结构化程序未能解决的问题: 1、模块分割主要针对控制流,仍含有与人的思维方式不协调的地方,很难自然、准确地反映真实世界,软件质量很难保证。 2、只突出了实现功能的操作方法(模块),而被操作的数据(变量)处于功能的从属地位,即程序模块与数据结构是松散地耦合在一起,当程序复杂时,容易出错,难以维护。,2.1 程序设计方法发展简述,2.1.3 面向对象程序设计,面向对象程序设计(OOP)旨在使计算机问题的求解更接近于人的思维活动,使软件的开发形成一个由抽象到具体、由简单到复杂这样一个循序渐进的过程。克服大型软件开发中存在的效率低、质量难以保证、调试复杂、维护困难等问题。 面向对象将大量的工作由相应的
4、对象来完成,程序员在应用程序中只需说明要求对象完成的任务。 面向对象程序设计(OOP)的优点: 1、使软件开发过程符合人们的思维方法,便于分析解决复杂的问题 2、使软件的维护和功能增减易于实现。 3、使程序代码可重用,从而提高了软件开发的效率; 4、与可视化技术相结合,使用户界面图形化、更美观、更友好。,2.1 程序设计方法发展简述,2.2 Visual Basic的对象及其属性、事件和方法,1、对象的基本概念 “对象”是系统中的基本运行实体。现实生活中,一个人、一辆车等均可 视为一个对象。 为了区别和标识不同的对象,每个对象有一个属于自己的名字,称为对 象名。 在VB应用程序中,构成图形用户
5、界面的每一个可视的部件均可视为对象。 Visual Basic的对象分为窗体和控件两大类。 窗体窗口本身,是屏幕上的一个矩形区域; 控件窗口上构成图形用户界面的一些基本组成部件; (1)内部控件:是由VB系统提供的。启动VB后,内部控件出现在工具箱上。 (2)ActiveX控件:是扩展名为.OCX的独立文件。 (3)可插入对象:VB系统中有一些能直接使用的对象,其可被添加到工具箱上。,2.2.1 Visual Basic的对象,2.2 Visual Basic的对象及其属性、事件和方法,对象的建立方法: (1)添加和删除控件到窗体上 (2)编辑控件 选择控件 移动控件 移动改变控件大小 复制控
6、件 控件的布局 控件的名称,2.2.1 Visual Basic的对象,2.2 Visual Basic的对象及其属性、事件和方法,1、对象的属性 在VB系统中,选中一个对象后,可以在属性窗口中修改属性值,也可在程序运行阶段用语句来设置或修改其属性值。 在程序中设置属性的语法格式为: 对象名.属性名属性值,2.2.2 对象的属性、事件与方法,2.2 Visual Basic的对象及其属性、事件和方法,例【2-1】 设计阶段修改对象属性 在窗体上放置一个名为command1的命令按钮,将其属性列表框中的caption属性值改为“按钮”,height属性值改为890。 解题思路:选择命令按钮,在其
7、属性列表框中修改“caption”和“height”属性。,2.2.2 对象的属性、事件与方法,2.2 Visual Basic的对象及其属性、事件和方法,例【2-2】 运行阶段修改对象属性 在窗体上放置一个名为command1的命令按钮,程序运行后,点击窗体,将命令按钮的caption属性值改为“按钮”,height属性值改为890。 解题思路:首先在窗体上放置一个名为command1的命令按钮,在窗体的click事件中填写相应的命令,改写按钮的属性值。,2.2.2 对象的属性、事件与方法,Private Sub Form_click( ) command1.caption=“按钮” com
8、mand1.height=890 End Sub,2.2 Visual Basic的对象及其属性、事件和方法,2、对象的事件、事件过程和事件驱动 (1)事件 在VB中,事件是发生在对象身上,且能被对象识别的动作。 如:用鼠标单击对象,则会在对象身上产生单击事件(Click),双击对象,则会在对象身上产生双击事件(DblClick)。 VB系统为每个对象预先定义了一系列事件, 例如:单击(Click),双击(DblClick), 改变(Change),鼠标移动(MouseMove)等。,2.2.2 对象的属性、事件与方法,2.2 Visual Basic的对象及其属性、事件和方法,2、对象的事件
9、、事件过程和事件驱动 (2)事件过程 当事件在对象身上发生后,应用程序就要处理这个事件,处理事件的步骤就是事件过程。 VB应用程序设计的主要工作就是为对象编写事件过程的代码,一般格式为: Private Sub 对象名_事件(参数列表) 事件过程代码 End Sub,2.2.2 对象的属性、事件与方法,2.2 Visual Basic的对象及其属性、事件和方法,2、对象的事件、事件过程和事件驱动 (2)事件过程 例【2-3】 有一命名为Command1的命令按钮对象,要求当用户单击命令按钮时,结束程序的运行 解题思路:VB系统中,结束程序运行的命令为“END”。在按钮的click事件中填写该命
10、令即可。,2.2.2 对象的属性、事件与方法,Private Sub Command1_click( ) end 结束程序的运行 End Sub,2.2 Visual Basic的对象及其属性、事件和方法,2、对象的事件、事件过程和事件驱动 (3)事件驱动程序设计 在传统的面向过程的程序设计中,应用程序的执行总是从第一行代码开始; 在面向对象的程序设计中,应用程序先等待某个事件的发生,然后再去执行处理此事件的事件过程。发生事件的顺序决定了代码执行的顺序,若没有事件发生,整个程序将处于停滞等待状态。,2.2.2 对象的属性、事件与方法,2.2 Visual Basic的对象及其属性、事件和方法,
11、2、对象的事件、事件过程和事件驱动 (3)事件驱动程序设计 VB应用程序的执行步骤:,2.2.2 对象的属性、事件与方法,窗体或窗体上的对象等待事件的发生,事件发生时,执行相应的事件过程,启动应用程序,装载和显示窗体,如此周而复始地执行,直到遇到“END”语句结束程序的运行或单击“结束”按钮强行结束程序的允许。,2.2 Visual Basic的对象及其属性、事件和方法,3、对象的方法 VB系统中的方法指对象本身所包含的一些特殊函数或过程。当用方法来控制一个对象的行为时,其实质就是调用该对象内部的某个特殊的函数的过程。 例如:窗体对象拥有Hide方法和Show方法,调用Hide方法可窗体隐藏起
12、来,调用Show方法可使窗体显现出来。 在VB系统中对象方法的调用格式: 对象名方法名参数列表 如:form1.hide 隐藏窗体form1 form1.show 显示窗体form1,2.2.2 对象的属性、事件与方法,2.2 Visual Basic的对象及其属性、事件和方法,3、对象的方法 例【2-4】现有一个名为Command1的命令按钮,当用户单击该按钮时,使其移动为坐标(120,300)的位置。 解题思路:调用方法“move”,将按钮移动到指定的位置。,2.2.2 对象的属性、事件与方法,Private Sub command1_click( ) command1.move 120,
13、300 End sub,2.2 Visual Basic的对象及其属性、事件和方法,3、对象的方法 例【2-5】当用户单击窗体时,调用窗体对象的方法Print,在窗体上打印出“欢迎你学习Visual Basic 6.0”字符串. 解题思路:调用窗体的方法“print”,将字符串显示在窗体上,2.2.2 对象的属性、事件与方法,Private Sub Form_Click( ) form1.print “欢迎你学习Visual Basic 6.0” End Sub,2.3 窗体对象及其属性、事件与方法,2.3.1 窗体的属性, Name :窗体名称;默认为Form1,只能在属性窗口设置 Capt
14、ion:窗体标题栏显示的文本,可在属性窗口和程序中设置 Height,Width:指定窗体的高度和宽度。可在属性窗口和程序中设置 Left,top:指定窗体的高度和宽度。可在属性窗口和程序中设置 Font:用于改变窗体或对象上文本的外观。 FontName:字体类型,用于设置窗体或对象上文本的字体。 FontSize:整型,用于设置窗体或对象上文本的字体大小。 FontBold:逻辑型,该值为True时用于设置窗体或对象上文本为粗体。 FontItalic:逻辑型,该值为True时用于设置窗体或对象上文本为斜体。 FontStrikethru:逻辑型,该值为True时给窗体或对象上文本加一删除
15、线 FontUnderLine:逻辑型,该值为True时用于给窗体或对象上文本加一下 划线,2.3 窗体对象及其属性、事件与方法,2.3.1 窗体的属性,(6)Enabled:用于决定是否允许操作窗体。True为允许,False为禁止。 (7)Visible:用于决定程序运行时窗体是否可见。True为可见,False为 不可见。 (8)MaxButton,MinButton:用于设置窗体右上角的最大化、最小化按 钮。只能在属性窗口中设置。 (9)Icon图标和ControlBox控制菜单:在属性窗口中单击Icon设置框右边 的“”,可以装入一个扩展名为.ico或. Cur图标文件,当窗 体最小
16、化时加以该图标显示。 Icon属性在程序中设置的方法: Form1.Icon=Loadpicture(盘符路径及图标文件名) 如:form1.icon=loadpicture(“c:abcpict1.ico”) ControlBox属性为True时,窗体有上角有控制菜单框,为False时则无。控制菜单以图标形势显示。,2.3 窗体对象及其属性、事件与方法,2.3.1 窗体的属性,(10)BackColor:用于设置窗体或对象的背景颜色。 (11)ForeColor:用于设置窗体或对象的前景颜色。对于窗体,前景色 是窗体上用Print方法输出的文本的颜色,程序运行后才能看到。 (12)Borde
17、rStyle:用于设置窗体边框的样式。 0None,无边框,无法移动及改变大小 1Fixed Single,单线边框,可移动但不可改变大小 2Sizeable,双线边框,可移动、改变大小 3Fixed Dialog,为固定对话框,不可改变大小 4Fixed ToolWindow,窗体外观与工具条相似,有关闭按钮,不能 改变大小 5Sizeable ToolWindow,窗体外观与工具条相似,有关闭按钮,能 改变大小,2.3 窗体对象及其属性、事件与方法,2.3.1 窗体的属性,(13)Picture:用于设置窗体中要显示的图片。 方法:单击Picture设置框右边的“”,便可加载一个图形文件。
18、 在程序中设置该属性的方法: Form1.Picture=LoadPicture(图形文件源路径及文件名) 如:form1.picture=loadpicture(“d:abcpict1.jpg”) (14)Windows State:用于设置窗口的状态。 0Normal,正常状态,有窗口边界 1Minimized,最小化状态,以图标方式运行 2Maxmized,最大化状态,无边框,充满整个屏幕,2.3 窗体对象及其属性、事件与方法,2.3.2 窗体的事件,事件分类:根据来源分为:鼠标事件、键盘事件和系统事件。 窗体最常用的事件:Click(单击),DblClick(双击)和Load(装入)。
19、 另外:在窗体装载和关闭时,系统会自动产生一些事件。 Initialize事件,Resize事件,Paint事件,Active事件,Deactive事件,QueryUnload事件,Unload事件,Terminate事件。 用户使用鼠标或键盘操作会触发窗体的一些事件: MouseDown(鼠标按下),MouseUp(键释放), MouseMove(鼠标移动), keyDown(键按下),KeyUp(键释放),KeyPress(键按下并释放),2.3 窗体对象及其属性、事件与方法,2.3.2 窗体的事件,1、Click事件 当用户将鼠标置于窗体上,按下鼠标左键并立即释放(即单击操作),此时会在
20、窗体上触发Click事件。 格式: Private Sub Form_Click (Index As Integer) End Sub 参数说明: 只有当对象为控件数组时,参数Index才会出现。Index参数值由 VB自动传入,在事件过程中可以引用,其值代表用户单击控件数组 中的那一个成员。,2.3 窗体对象及其属性、事件与方法,2.3.2 窗体的事件,2、DblClick事件 当用户在窗体上用鼠标快速双击左键时产生DblClick(双击)事件。 格式: Private Sub Form_DblClick (Index As Integer) End Sub,2.3 窗体对象及其属性、事件与
21、方法,2.3.2 窗体的事件,3、Load事件 当窗体从磁盘装入内存时引发的事件。它由系统操作触发或通过 Load语句触发。经常用来在启动应用程序时对属性和变量进行初始 化。 格式: Private Sub Form_Load( ) End Sub,2.3 窗体对象及其属性、事件与方法,2.3.3 窗体的常用方法,1、Print方法:在窗体或控件上输出变量的值或其他信息。 如:form1.print “欢迎使用Visual Basic” 2、Cls方法:清除窗体或控件上的信息。 如:form1.cls 3、Move方法:移动窗体或控件,并可改变其大小。 如:command1.move 120,
22、300,2.3 窗体对象及其属性、事件与方法,2.3.3 窗体的常用方法,例【2-6】 窗体无最大化按钮和最小化按钮,窗体装入时,在窗体的标题栏显示“装入窗体”,并在窗体上装入一幅图片作为背景;当用户单击窗体时,在标题栏显示“单击”,在窗体上显示“单击窗体”;当用户双击窗体时,在标题栏显示“鼠标双击”,去除窗体的背景图案,并显示“双击窗体” 解题思路:首先在窗体的属性列表框中设置相应属性值;在窗体的Load事件、click事件和dblclick事件中填写相应的命令。 另:窗体载入图片的命令: form1.picture=loadpicture(图片所在的路径以及图片的名称) 清除窗体载入图片的
23、命令: form1.picture=loadpicture(“”) form1.picture=loadpicture( ),2.4 基本控件,2.4.1 标签(Label),1、属性 标签(Label)主要用于显示一小段文本,通常用来标注本身不具有Caption属性的控件,如用标签给文本框附加描述等。,2、事件 标签可以触发Click和DblClick等事件,但很少用来触发。,2.4 基本控件,2.4.1 标签(Label),例【27】 在窗体创建两个标签,但单击一次窗体后,将两个标签上的内容交换。 解题思路:触发的事件为:窗体的click事件。,Temp,A,B,Temp=A (1),A=
24、B (2),B=Temp (3),2.4 基本控件,2.4.2 文本框(TextBox),1、属性 文本框(TextBox)提供一个既能显示又能编辑文本的区域。在程序运行中,可在文本框中输入正文,也可对其中的文字进行选择、删除、复制和粘贴等操作。,2.4 基本控件,2.4.2 文本框(TextBox),2、事件:除Click、DblClick事件外,还有以下事件 (1)Change:当文本框的Text属性值发生变化时,将触发此事件。 (2)GotFocus:当文本框获得焦点时,触发该事件。 (3)LostFocus:当文本框失去焦点时,触发该事件。 (4)KeyPress:当文本框获得焦点后,
25、并在键盘按下某一个键时触发该事件,1、属性(续),2.4 基本控件,2.4.2 文本框(TextBox),3、方法 常用方法为SetFocus方法。调用此方法可以使文本框获得焦点。 例【2-8】在窗体上建立三个文本框,单击窗体后,利用文本框的change事件在另两个文本框中显示第一个文本框文字的大小写。 解题思路: 触发的事件为第一个文本框的change事件;将字符串转换为小写的函数为Lcase();将字符串转换为大写的函数为Ucase()。,Private Sub Text1_Change() text2.text=lcase(text1.text) text3.text=ucase(tex
26、t1.text) End Sub,2.4 基本控件,2.4.3 命令按钮(Command Button),1、属性,2.4 基本控件,2.4.3 命令按钮(Command Button),2、事件 常用事件为Click事件。 例【2-9】在窗体上设置两个按钮和一个文本框,在文本框中显示命令按钮点击的次数。 解题思路:设置一个统计点击次数的变量。将该变量的值显示在文本框中。,2.4 基本控件,2.4.4 焦点与Tab顺序 1、焦点 焦点是指控件对象接受鼠标或键盘输入的能力。只有具有焦点的控件对象才能接受用户由鼠标和键盘的输入。 当控件对象获得焦点时,触发GotFocus事件,失去焦点时,触发Lo
27、stFocus事件。大多数控件都支持以上两个事件。 控件对象获得焦点的途径: (1)直接操作:比如用Tab键或用快捷键、鼠标直接点击; (2)在程序中调用SetFocus方法; 2、Tab顺序 在程序运行中,当按下Tab键时,焦点将在该程序的控件上顺序移动,这就是Tab顺序。 通常,在设计程序过程中,Tab顺序是由控件的建立顺序决定的。若要修改Tab顺序,需要改变TabIndex的属性值即可。,2.4 基本控件,2.4.5 控件的默认属性 控件的默认属性是指在程序运行中,不必指定控件的属性名就可以改变其值的属性。 如:文本框的默认属性为Text,则以下的赋值是等价的: Text1.text =
28、“Visual Basic” Text1=“Visual Basic”,2.5 创建Visual Basic应用程序的基本步骤,1、在窗体上建立对象,2、设置对象的属性,3、编写对象事件过程,4、保存和运行程序,2.5 创建Visual Basic应用程序的基本步骤,例【2-10】编写一个图片浏览器,以实现对两幅图片内容进行浏览。 解题思路:在窗体上放置一个图片框和三个命令按钮。,Private Sub Command1_Click( ) picture1.picture=loadpicture(“d:abctu1.jpg”) End Sub Private Sub Command2_Clic
29、k( ) picture1.picture=loadpicture(“d:abctu1.jpg”) End Sub,2.6 Visual Basic工程的组成与管理,2.6.1 工程的构成 一个VB工程共包含7钟类型文件 1、工程文件(.vbp) 该文件共包含与该工程有关的全部文件和对象的清单。 2、窗体文件(.frm) 该文件包含窗体及控件对象的属性设置;窗体级的变量和外部过程的声明;事件过程和用户自定义过程。每一个窗体都有一个窗体文件。 3、窗体的二进制文件(.frx) 当窗体或控件的数据含有二进制属性(如图片或图标),将窗体文件保存时,系统会自动产生同名的.frx文件。 4、标准模块文件(.bas) 该文件包含模块级的变量和外部过程声明;用户自定义的、可供本工程内各窗体调用的过程。该文件可选。,2.6 Visual Basic工程的组成与管理,2.6.1 工程的构成 5、类模块文件(.cls) 该文件可选。用于创建含有属性和方法的用户自己的对象。 6、资源文件(.res) 该文件可选,包含不必重新
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 系统架构设计师考试中的关键成果与交付物探讨试题及答案
- 系统架构设计师考试备考知识试题及答案
- 教育学发展趋势试题及答案观察
- 心理学考证试题及答案
- 中职农业考试题及答案
- 系统管理师考试试题及答案的有效检索
- 网球理论考试试题及答案
- 健康促进与疾病预防试题及答案
- 教育学试题及答案
- 网络规划设计师自我提升的路径试题及答案
- 2022年四川专升本考试真题及答案(语文)
- EDTA及其配位特性
- 人教PEP版四年级英语下册《Unit 6 全单元》课堂教学课件PPT小学公开课
- 餐饮部作业流程图
- 重庆市2022年高考(学业水平选择性考试)化学试题及答案解析
- WS/T 510-2016病区医院感染管理规范
- GB/T 7078-1997纺织品色牢度试验耐甲醛色牢度
- GB/T 39766-2021人类生物样本库管理规范
- GB/T 2518-2008连续热镀锌钢板及钢带
- 与圆有关的最值问题课件
- 全大学进阶英语综合教程2综合训练第一单元(含答案)
评论
0/150
提交评论