程序设计基础-Visual Basic(2019秋)

沈阳师范大学 刘立群

目录

  • 认识 Visual Basic
    • ● 认识 Visual Basic
    • ● 对象的属性、事件和方法
    • ● 控件的容器-窗体
    • ● 文本编辑工具-文本框
    • ● 命令按钮和标签
  • 程序设计基础
    • ● 语句和语法规则
    • ● 数据类型和常量变量
    • ● 运算符与表达式
    • ● 常用内部函数
    • ● 输入与输出
  • 基本控制结构和算法
    • ● 程序结构与算法
    • ● 选择结构的语句实现
    • ● 循环结构的语句实现
    • ● 穷举和递推问题求解
    • ● 嵌套循环解百钱百鸡问题
    • ● 星形矩阵的显示问题
  • 常用标准控件
    • ● 选择控件和滚动条--设置文字格式
    • ● 列表框及组合框—购票系统
    • ● 计时器与图片控件—自动变换的交通灯
    • ● 图形操作—小球运动
  • 数组和过程
    • ● 数组的定义与一维数组的应用
    • ● 二维数组
    • ● 控件数组
    • ● 自定义过程
    • ● 参数传递
    • ● 变量的作用域
  • 键盘鼠标事件与菜单设计
    • ● 鼠标键盘事件--小鸡吃虫游戏
    • ● 菜单程序设计--控制移动字幕
  • 通用对话框与文件操作
    • ● 通用对话框与文件操作
    • ● 文件操作--打开保存数据实例
对象的属性、事件和方法


1.2 对象的属性、事件和方法

对象是 VB 编程的核心,窗体和控件都是对象。在例1中,我们向窗体上添加了三个命令按钮,这些命令按钮已经具备了基本的外观特征和功能,但这并不用编写程序去实现,这是因为“命令按钮”这个控件已经包含了这些功能的代码。这就是面向对象程序设计的特点,不需要关心对象的详细实现过程就可以直接将其应用到程序中,简化了编程的过程。

对象是具有特殊性质(属性)和行为方式(方法)的实体,在现实生活中到处可以见到,如一辆汽车可看作一个对象,汽车的型号、价格、外观等特性称为“属性”,汽车的启动、加速、减速等是汽车行为,称为“方法”。对象的概念是相对的,根据观察者的角度可将对象分解和综合,如汽车还可分解为车头、车尾,也可分解为发动机、车轮等对象,分解后的对象又都分别具有不同的属性和行为。

类是具有共同抽象的对象的集合,在面向对象的程序设计中,类是创建对象实例的模板,它包含所创建对象的共同属性描述和共同行为特征的定义。即,对象是类的实例。例如,各种各样的汽车可以看作一个汽车类,具体到某一辆特定的汽车则称为汽车类的一个实例,即一个对象。

VB中的类可分为两种,一种是由系统设计好,可以直接使用的类;另一类是由用户定义的类,本书中重点介绍第一种。在上一节所介绍的工具箱中的标准控件均为VB系统设计好的标准控件类,当开发者在窗体上“画”一个控件的过程即为该控件类的实例化,将控件类转换成了一个控件对象,以后简称为控件。除了用户大量使用的窗体和控件对象外,VB还提供了一些系统对象,如打印机(Printer)、剪贴板(Clipboard)、屏幕(Screen)等,在后面的章节中将涉及系统对象的使用。

在面向对象程序设计中,“对象”是系统中基本的运行实体。建立一个对象后,其操作是通过与该对象有关的属性、事件和方法来描述的。属性、事件和方法也称为对象的三要素。

1.2.1 对象的属性

属性是对象的特征,不同的对象有不同的属性。对象常见的属性有名称(Name)、标题(Caption)、颜色(Color)、字体(Font)等。

VB中的不同的对象具有不同的属性,其中有一部分属性是大多数控件所共同具有的,如名称属性(Name)、是否可见属性(Visible)等。比如,杯子具有容量(Capacity)属性、铅笔具有长度(Length)属性、收音机具有音量(Volumn),但是它们共同具有颜色(Color)这个属性。






属性设置的两种方法

方法一:通过属性窗口设置对象的属性。

方法二:在程序中用程序语句设置。

格式:对象名.属性名=属性值

例如:Label1.Caption= “欢迎来到VB世界!”

这两种方法都可以实现属性的修改,但是又有区别:大多数属性在属性窗口中修改以后,窗体中可以立刻看到控件状态的变化。如例2中,修改标签和命令按钮的Caption属性以后,立刻就可以看到窗体上的标签和命令按钮显示内容发生了变化。而如果使用方法二在程序代码中用语句实现,则需要运行程序时属性设置才能生效。在一个程序中应该使用哪种方法设置属性需要根据实际情况考虑。但是需要注意的是,有些属性仅允许在属性窗口中设置,例如Name属性。而有些属性必须在程序代码中利用语句进行设置,例如文本框的SelStart、SelLength和SelText属性等。

1.2.2 对象的事件

传统高级语言使用的是面向过程、按顺序执行的编程机制,这种编程机制的缺点是程序员必须要关心什么时候发生什么事情。VB采用的是事件驱动的编程机制,在这种机制下,程序员只要编写若干个响应用户动作的事件代码,如鼠标单击,选择命令等,这些代码的执行则由用户启动的事件来触发。

所谓事件(Event),是指由系统预先设计好的,能被某一对象识别的动作。如单击(Click)、双击(DblClick)、键盘按下(KeyPress)、载入窗体(Load)、移动鼠标(MouseMove)等都是事件。不同的对象所能识别的事件不同,如窗体能识别单击和双击事件,而命令按钮只能识别单击事件。当事件由用户触发(如窗体的Click事件)或由系统触发(如窗体的Load事件)时,对象就会执行该事件的代码,即对事件作出响应。如在例2.1中,程序运行时,用户单击“向右走”命令按钮时,触发了Command2的单击(Click)事件,相应的事件代码被执行,从而实现了窗体上的标签向右移动。响应某个事件后,所执行的程序代码叫做事件过程(Event Procedure)。

格式:

Private Sub 对象名_事件名 ([参数列表])

    事件响应程序代码

End Sub

这里的“对象名”指的是该对象的名称属性,“事件名”是由VB预先定义好的该对象的事件。

如在例2中,程序运行时,用户单击“改变字号”命令按钮时,发生了Command1的单击(Click)事件,系统就会执行下面这个事件过程:

Private Sub Command1_Click()

    Label1.FontSize = Text1.Text

End Sub

当用户单击“向右走”、“结束”按钮时,分别触发了Command2、Command3的Click事件,系统会分别执行相应的事件过程:

Private Sub Command2_Click()

    Label1.Left = Label1.Left + 100

End Sub

Private Sub Command3_Click()

    End

End Sub

1.2.3 对象的方法

在面向对象程序设计中,引入了称为“方法(Method)”的特殊过程和函数。方法的操作与过程和函数的操作相同,但“方法”是特定对象的一部分,正如“属性”和“事件”一样。

格式:对象名.方法名 [参数列表]

例如,在VB中,提供了一个名为Print的方法,当把它用于不同的对象时,可以在不同的对象上输出信息,下面的语句可以实现在对象名为“Form1”的窗体上显示字符串“Visual Basic程序语言设计”:

Form1.Print " Visual Basic程序语言设计"

如果语句改为:

Printer.Print " Visual Basic程序语言设计"

执行时,将在对象名为“Printer”的打印机上打印字符串“Visual Basic程序语言设计”。

在调用方法时,可以省略对象名。在这种情况下,VB所调用的方法作为当前对象的方法,一般把当前窗体(Me)作为当前对象。下面的三条语句,执行时都将在当前窗体上显示字符串“Visual Basic程序语言设计”。

Print " Visual Basic程序语言设计"

Me. Print " Visual Basic程序语言设计"

Form1.Print " Visual Basic程序语言设计"

VB提供了大量的方法,了解对象的方法是学习VB程序设计的一个重要方面,在以后的章节中我们将分别介绍各种对象及其方法。

====================================================================================

阅读下面资料:常用的基本属性.doc(下载附件 847.5 KB)

扩展学习:扩展学习1.2.doc(下载附件 22 KB)

案例:案例1.2.doc(下载附件 30 KB)

====================================================================================