1、中国药科大学 计算机教研室 Visual Basic 程序设计程序设计Visual BasicVisual Basic程程 序序 设设 计计 教教 程程授课教师:潘 蕾E-Mail:E-Mail:中国药科大学中国药科大学 计算机教研室计算机教研室 Visual Basic 程序设计程序设计2 动动手手动动脑脑 实践实践出真知出真知 自学、自学、动手动手、应用、上网、应用、上网 在在编写编写大量程序之后,才能感到运用自如大量程序之后,才能感到运用自如友情提示:学习方法友情提示:学习方法中国药科大学中国药科大学 计算机教研室计算机教研室 Visual Basic 程序设计程序设计3本课程教学内容:
2、本课程教学内容:第一章第一章 Visual Basic Visual Basic 程序设计概述程序设计概述第二章第二章 常用控件及界面设计常用控件及界面设计第三章第三章 Visual BasicVisual Basic程序设计基础程序设计基础第四章第四章 Visual BasicVisual Basic的基本控制结构的基本控制结构第五章第五章 程序调试程序调试第六章第六章 数组数组第七章第七章 过程过程第八章第八章 文件文件适用总学时数:适用总学时数:84 84 学时学时 其中其中 讲课:讲课:42 42 学时学时 上机:上机:42 42 学时学时中国药科大学中国药科大学 计算机教研室计算机教
3、研室 Visual Basic 程序设计程序设计4第 1 章 Visual Basic 程序设计概述中国药科大学中国药科大学 计算机教研室计算机教研室 Visual Basic 程序设计程序设计5主要内容主要内容 Visual BasicVisual Basic的特点的特点 面向对象程序设计相关概念面向对象程序设计相关概念 事件驱动过程的程序设计原理事件驱动过程的程序设计原理 Visual BasicVisual Basic的集成开发环境的集成开发环境 创建创建Visual BasicVisual Basic应用程序的一般步骤应用程序的一般步骤中国药科大学中国药科大学 计算机教研室计算机教研室
4、 Visual Basic 程序设计程序设计6 可视化可视化(Visual)(Visual)u 在在WindowsWindows操作平台下,开发具有图形用户界面操作平台下,开发具有图形用户界面(GUI)(GUI)的应用程序的应用程序u Visual Basic 6.0Visual Basic 6.0是一个是一个32位的软件开发环境位的软件开发环境 面向对象面向对象(Object Oriented,OOObject Oriented,OO )u 面向过程的程序设计:是一种强调功能抽象化和模块化面向过程的程序设计:是一种强调功能抽象化和模块化的编程方法,将解决问题的过程看作是一个处理过程。的编程方
5、法,将解决问题的过程看作是一个处理过程。u 面向对象的程序设计:是一种以对象为基础,以事件来面向对象的程序设计:是一种以对象为基础,以事件来驱动对象执行的程序设计方法。驱动对象执行的程序设计方法。Visual BasicVisual Basic的两的两个重要特点个重要特点中国药科大学中国药科大学 计算机教研室计算机教研室 Visual Basic 程序设计程序设计7基本概念基本概念 对象:对象:是一个包括属性和方法的并被封装起来的整体。在是一个包括属性和方法的并被封装起来的整体。在VB中,对象也可理解为可控制的某个东西,中,对象也可理解为可控制的某个东西,VB中主要有两类中主要有两类对象:窗体
6、和控件。对象:窗体和控件。类:类:是对同一种对象的概括、抽象。用类可以创建对象。是对同一种对象的概括、抽象。用类可以创建对象。对象是类的具体化,实例。对象是类的具体化,实例。属性:属性:指对象的性质、特征指对象的性质、特征。方法:方法:指对象能执行的动作指对象能执行的动作。事件:事件:指能够被对象识别的动作。指能够被对象识别的动作。中国药科大学中国药科大学 计算机教研室计算机教研室 Visual Basic 程序设计程序设计8基本概念(例)基本概念(例)对象名对象名 人人足球足球窗体窗体属性属性姓名姓名 性别性别年龄年龄 学历学历 图案图案 大小大小 材料材料大小大小 名称名称标题标题 颜色颜
7、色方法方法哭哭 笑笑 旋转旋转 静止静止显示显示 隐藏隐藏事件事件挨打挨打 表扬表扬踢踢 停停单击单击 双击双击问题:问题:有一个充满氢气的红色气球,如果松开手中的线,它就会飞走;有一个充满氢气的红色气球,如果松开手中的线,它就会飞走;如果用针刺穿它,它则会爆炸。如果用针刺穿它,它则会爆炸。试说明:对于气球对象,哪些是属性,哪些是事件,哪些是方法试说明:对于气球对象,哪些是属性,哪些是事件,哪些是方法?中国药科大学中国药科大学 计算机教研室计算机教研室 Visual Basic 程序设计程序设计9事件事件:对象能够识别并作出反映的外部刺激。:对象能够识别并作出反映的外部刺激。事件驱动事件驱动:
8、又称消息驱动。:又称消息驱动。过程化程序设计过程化程序设计:按顺序一行一行执行代码,执行次序完全按顺序一行一行执行代码,执行次序完全由程序代码控制;由程序代码控制;事件驱动程序设计事件驱动程序设计:也有相应的程序代码,仅在该事件发生也有相应的程序代码,仅在该事件发生时,才会被执行。事件发生的顺序决定了代码执行的顺序,时,才会被执行。事件发生的顺序决定了代码执行的顺序,因此每次执行应用程序时,程序代码并不是按照程序编写的因此每次执行应用程序时,程序代码并不是按照程序编写的顺序来执行的。顺序来执行的。事件驱动过程的程序设计原理事件驱动过程的程序设计原理例例1中国药科大学中国药科大学 计算机教研室计
9、算机教研室 Visual Basic 程序设计程序设计10Visual BasicVisual Basic的集成开发环境的集成开发环境 VB是一个包括界面设计、程序编码、调试、编是一个包括界面设计、程序编码、调试、编译并创建可执行程序的集成开发环境译并创建可执行程序的集成开发环境IDE。VB应用程序由两部分组成应用程序由两部分组成u用户界面设计用户界面设计与用户进行交互的窗体与用户进行交互的窗体u实际算法设计实际算法设计完成信息处理的完成信息处理的程序代码程序代码的设计的设计 在在VB中,创建一个应用程序,被称为建立一个中,创建一个应用程序,被称为建立一个工程。工程。中国药科大学中国药科大学
10、计算机教研室计算机教研室 Visual Basic 程序设计程序设计11标题栏标题栏菜单栏菜单栏工具栏工具栏控件箱控件箱工程资源工程资源管理器管理器属性窗口属性窗口窗体设计器代码编辑器代码编辑器“窗体布局窗体布局”窗口窗口VBVB的集成开发环境的集成开发环境主界面主界面窗体设计器窗体设计器中国药科大学中国药科大学 计算机教研室计算机教研室 Visual Basic 程序设计程序设计12 创建界面创建界面:选择添加控件;:选择添加控件;设置属性设置属性:按要求调整控件属性;:按要求调整控件属性;编写代码编写代码:编写对象响应事件的程序代码;:编写对象响应事件的程序代码;保存工程保存工程:一个工程
11、由窗体、代码模块、自定义控件及环:一个工程由窗体、代码模块、自定义控件及环境设置等组成。保存时,系统将该工程的所有相关文件一起境设置等组成。保存时,系统将该工程的所有相关文件一起保存;保存;u工程文件:工程文件:vbpvbpu窗体文件:窗体文件:frm frm 运行并调试程序运行并调试程序:检查并排除错误;检查并排除错误;创建可执行文件。创建可执行文件。创建创建VBVB应用程序的一般步骤应用程序的一般步骤中国药科大学中国药科大学 计算机教研室计算机教研室 Visual Basic 程序设计程序设计13创建创建VBVB应用程序的一般步骤(例)应用程序的一般步骤(例)例例1-11-1:在窗体上显示
12、:在窗体上显示“你好!你好!”和一个命令按钮,和一个命令按钮,单击该按钮,文字变成单击该按钮,文字变成“欢迎进入欢迎进入VBVB世界!世界!”。实现步骤实现步骤启动启动VBVB,系统自动创建工程,系统自动创建工程1 1和窗体和窗体1 1(Form1Form1)创建界面创建界面单击控件工具栏上的标签,将鼠标移到窗体上,光标呈单击控件工具栏上的标签,将鼠标移到窗体上,光标呈十字形;十字形;按住鼠标左键,在窗体上拖动,这样就在窗体上放置了按住鼠标左键,在窗体上拖动,这样就在窗体上放置了一个标签框;一个标签框;使用同样的方法,在窗体上放置一个命令按钮控件;使用同样的方法,在窗体上放置一个命令按钮控件;
13、调整控件大小和位置调整控件大小和位置中国药科大学中国药科大学 计算机教研室计算机教研室 Visual Basic 程序设计程序设计14设置属性设置属性标签:标签:Autosize 属性为属性为True;Caption属性为属性为“你你好!好!”;Font属性为宋体三号字属性为宋体三号字命令按钮:命令按钮:Caption属性为属性为“确定确定”添加代码(两种方法)添加代码(两种方法)Label1.Caption=“欢迎进入欢迎进入VB世界!世界!”保存,先保存窗体,再保存工程。保存,先保存窗体,再保存工程。运行和调试运行和调试生成可执行文件生成可执行文件实现步骤实现步骤中国药科大学中国药科大学
14、计算机教研室计算机教研室 Visual Basic 程序设计程序设计15复习(复习(2)第 2 章 常用控件及界面设计中国药科大学中国药科大学 计算机教研室计算机教研室 Visual Basic 程序设计程序设计16主要内容主要内容 窗体的常用属性、方法和事件窗体的常用属性、方法和事件 常用控件的常用属性、方法和事件常用控件的常用属性、方法和事件 菜单的制作菜单的制作 多窗体和多窗体和 MDIMDI窗体的概念窗体的概念中国药科大学中国药科大学 计算机教研室计算机教研室 Visual Basic 程序设计程序设计17窗体窗体(Form)(Form)窗体窗体:窗口窗口(一般,设计期称窗体、运行期称
15、窗口一般,设计期称窗体、运行期称窗口)窗体模块窗体模块:每个窗体对应于一个窗体模块每个窗体对应于一个窗体模块窗体的结构窗体的结构控制菜单控制菜单标题栏标题栏最大化最大化/还原还原最小化最小化关闭关闭边框边框窗体的基本概念窗体的基本概念中国药科大学中国药科大学 计算机教研室计算机教研室 Visual Basic 程序设计程序设计18窗体的常用属性、方法和事件窗体的常用属性、方法和事件属性属性方法方法事件事件NameCaptionEnabledVisibleLeft,TopWidth,HeightFont,BorderStyleHideShowPrintClsClickLoadUnload注注:在
16、在VBVB中,有两种设置窗体(或其他对象)属性值的方法中,有两种设置窗体(或其他对象)属性值的方法 在设计时,通过在设计时,通过属性窗口属性窗口为其设定各种属性值为其设定各种属性值 在程序执行过程中改变属性值,即通过在程序执行过程中改变属性值,即通过程序代码程序代码改变属性值改变属性值例例2中国药科大学中国药科大学 计算机教研室计算机教研室 Visual Basic 程序设计程序设计19窗体的常用属性、方法和事件窗体的常用属性、方法和事件注注:通常产生事件过程时,建议通常产生事件过程时,建议不要自行输入程序头不要自行输入程序头,而由系统自动产生。此外,命令按钮而由系统自动产生。此外,命令按钮1
17、 1产生的单击事件名产生的单击事件名为为Command1_ClickCommand1_Click,命令按钮,命令按钮2 2产生的单击事件名为产生的单击事件名为Command2_ClickCommand2_Click,但对于一个窗体,产生的事件过程名为,但对于一个窗体,产生的事件过程名为Form_ClickForm_Click,而不是,而不是Form1_ClickForm1_Click,这种特殊情况只会出,这种特殊情况只会出现在窗体的事件过程中。现在窗体的事件过程中。注注:MeMe是系统保留字,代表当前窗体是系统保留字,代表当前窗体 中国药科大学中国药科大学 计算机教研室计算机教研室 Visua
18、l Basic 程序设计程序设计20窗体的常用属性、方法和事件窗体的常用属性、方法和事件注注:有关有关PrintPrint方法的说明方法的说明格式:格式:Object.PrintObject.Print 功能:将输出项显示在窗体或图片框上。功能:将输出项显示在窗体或图片框上。说明:(说明:(1 1)对象名缺省,则输出到窗体上;)对象名缺省,则输出到窗体上;(2 2)输出项之间用)输出项之间用逗号逗号或或分号分号间隔,若用逗号间隔,则为间隔,若用逗号间隔,则为标准输出;若用分号间隔,则为紧凑输出。标准输出;若用分号间隔,则为紧凑输出。Private Sub command1_Click()Pri
19、nt 1,2,3 Print 1;2;3 Print Print ab,cd Print ab;cd;End Sub观察下列观察下列Print语句的执行结果:语句的执行结果:中国药科大学中国药科大学 计算机教研室计算机教研室 Visual Basic 程序设计程序设计211.文本框(文本框(Text Box)2.标签(标签(Label)3.命令按钮(命令按钮(Command Button)4.列表框(列表框(ListBox)5.组合框(组合框(ComboBox)6.图片框(图片框(PictureBox)7.选项按钮(选项按钮(Option Button)、复选框()、复选框(CheckBox)
20、与框架控件()与框架控件(Frame)8.滚动条(滚动条(ScrollBar)9.定时器控件定时器控件(Timer)VB常用控件常用控件中国药科大学中国药科大学 计算机教研室计算机教研室 Visual Basic 程序设计程序设计22常用控件的常用属性、方法和事件常用控件的常用属性、方法和事件(1)控件名控件名属性属性方法方法事件事件举例举例TextBox(文本框文本框)TextPasswordCharMultiLineScrollBarsSetFocusChangeKeyPressLabel(标签标签)CaptionAutoSizeCommandButton(命令按钮)(命令按钮)Capti
21、onEnabledSetFocusClick例例1例例2中国药科大学中国药科大学 计算机教研室计算机教研室 Visual Basic 程序设计程序设计23常用控件的常用属性、方法和事件常用控件的常用属性、方法和事件(2)控件名控件名属性属性方法方法事件事件举例举例ListBox(列表框)(列表框)ComboBox(组合框)(组合框)ListListCountListIndexTextAddItemClearRemoveItemClickPictureBox(图片框)(图片框)PictureAutoSizePrintClsClickOptionButton(选项按钮)(选项按钮)CheckBox
22、(复选框)(复选框)CaptionValueClickFrame(框架)(框架)Caption例例3例例4中国药科大学中国药科大学 计算机教研室计算机教研室 Visual Basic 程序设计程序设计24常用控件的常用属性、方法和事件常用控件的常用属性、方法和事件(3)控件名控件名属性属性方法方法事件事件举例举例HScrollBarVScrollBarValueMax,MinLargeChangeSmallChangeChangeScrollTimerIntervalEnabledTimer(唯一)(唯一)注:注:VBVB的三个容器控件的三个容器控件:(1 1)窗体()窗体(FormForm)
23、(2 2)图片框控件()图片框控件(PictureBoxPictureBox)(3 3)框架控件()框架控件(FrameFrame)例例5例例6中国药科大学中国药科大学 计算机教研室计算机教研室 Visual Basic 程序设计程序设计25制作菜单制作菜单-相关概念相关概念菜单的相关概念:菜单的相关概念:菜单条菜单条/菜单栏菜单栏 菜单菜单/下拉式菜单下拉式菜单 菜单项菜单项 子菜单子菜单 弹出式菜单弹出式菜单中国药科大学中国药科大学 计算机教研室计算机教研室 Visual Basic 程序设计程序设计26制作菜单制作菜单-下拉式菜单下拉式菜单下拉式菜单系统的组成结构下拉式菜单系统的组成结构
24、 :菜单项菜单项主菜单名主菜单名快捷键快捷键热键热键下级子菜下级子菜单标记单标记主菜单条主菜单条分隔线分隔线子菜单名子菜单名中国药科大学中国药科大学 计算机教研室计算机教研室 Visual Basic 程序设计程序设计27VBVB将菜单也视为将菜单也视为控件控件对象,设计步骤为:对象,设计步骤为:打开菜单编辑器:打开菜单编辑器:“工具工具”“菜单编辑器菜单编辑器”设计菜单设计菜单 在代码窗口编辑在代码窗口编辑各各菜单菜单项项的的ClickClick事件响应代码事件响应代码制作菜单制作菜单-步骤步骤中国药科大学中国药科大学 计算机教研室计算机教研室 Visual Basic 程序设计程序设计28
25、制作菜单制作菜单-弹出式菜单弹出式菜单 例:设置窗体的弹出式菜单例:设置窗体的弹出式菜单 程序代码程序代码:Private Sub Form_MouseUp(Button As Integer,Shift As Integer,X As Single,Y As Single)If Button=2 Then Form1.PopupMenu hh End Sub 弹出式菜单的建立和下拉菜单一样,都是通过菜单编弹出式菜单的建立和下拉菜单一样,都是通过菜单编辑器来完成的,但弹出式菜单要将菜单的辑器来完成的,但弹出式菜单要将菜单的VisibleVisible属性设属性设置为置为“False”False
26、”,并需要通过增加程序代码来实现。,并需要通过增加程序代码来实现。例例4中国药科大学中国药科大学 计算机教研室计算机教研室 Visual Basic 程序设计程序设计29设计多窗体程序步骤:设计多窗体程序步骤:添加并设计窗体添加并设计窗体 “工程工程”“添加窗体添加窗体”设置启动窗体设置启动窗体 “工程工程”“工程属性工程属性”“通用通用”选项卡选项卡“启动启动对象对象”注意:注意:(1 1)在启动窗体中,必须要有对其他窗体的引用接口,)在启动窗体中,必须要有对其他窗体的引用接口,可以是菜单命令或命令按钮的形式,否则其他窗体将无法显示。可以是菜单命令或命令按钮的形式,否则其他窗体将无法显示。(
27、2 2)多窗体应用程序的保存)多窗体应用程序的保存 (3 3)多窗体应用程序的打开)多窗体应用程序的打开 (4 4)Unload Unload 与与EndEnd语句语句 多窗体程序设计多窗体程序设计中国药科大学中国药科大学 计算机教研室计算机教研室 Visual Basic 程序设计程序设计30 在多窗体应用程序中,一般有一个在多窗体应用程序中,一般有一个MDIMDI窗体(框架,父窗体)窗体(框架,父窗体)构成外部容器窗口,再包括不同的子窗体构成内层窗体界面。构成外部容器窗口,再包括不同的子窗体构成内层窗体界面。创建创建MDIMDI应用程序的步骤:应用程序的步骤:“工程工程”“添加添加MDIM
28、DI窗体窗体”将其它窗体的将其它窗体的 MDIchildMDIchild 属性设置为属性设置为“True”True”将将 MDIMDI窗体设置为启动窗体窗体设置为启动窗体注意:注意:(1 1)一个应用程序中,只有一个)一个应用程序中,只有一个MDIMDI窗体;窗体;(2 2)在)在MDIMDI窗体上,除窗体上,除PictureBoxPictureBox和和TimerTimer外,一般不能直接外,一般不能直接放置其他控件放置其他控件;(3 3)关闭)关闭 MDIMDI窗体,将自动关闭所有打开的子窗体窗体,将自动关闭所有打开的子窗体;(4 4)运行时,子窗体只能在)运行时,子窗体只能在MDIMDI窗体内移动。窗体内移动。MDI(多文档界面)窗体设计(多文档界面)窗体设计