首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 计算机考试 > 等级考试 > 复习指导 >

VB的灵魂之对象使用(2)(2)

2009-06-29 
本文为您介绍如何在VB中创建对象。


  运行应用程序并单击窗体。文本框的 Text 属性将变成 "Hello"。

  一般对象变量可在多种特定对象类型中引用其中一种。例如,一般窗体变量可引用应用程序中的任何窗体;一般控件变量可引用应用程序中任何窗体上的任何控件。请看一例,打开新的工程并在窗体中按任意顺序放置若干 Frame、Label 和 CommandButton 控件。将下列代码添加到窗体中:

  Private Sub Form_Click ()

  Dim anyControl As Control

  Set anyControl = Form1.Controls (3)

  anyControl.Caption = "Hello"

  End Sub

  运行程序并单击窗体。刚才放入窗体中的第三个控件的标题将变成"Hello"。

  Visual Basic 中有四种一般对象:

  在不知道变量运行时是否引用特定类型的对象时,一般对象变量是很有用的。例如,如果要书写代码,并使之在应用程序的任何窗体中都可操作,则必须使用一般窗体变量。

  注意 由于应用程序中只能有一个 MDI 窗体,因此不必使用一般的MDIForm 类型。无论何时,一旦需要声明引用 MDI 窗体的窗体变量,就可用特定的 MDIForm 类型(或者是 MDIForm1,或者是对 MDI窗体的 Name 属性指定的任何名称),而不用一般的 MDIForm 类型。实际上,由于在运行应用程序前,Visual Basic 就能够决定引用特定窗体类型的属性和方法,因此总应使用特定的 MDIForm 类型。

  只是出于完整性的考虑才提供一般的 MDIForm 类型;在 Visual Basic 的今后版本中,单个应用程序中可以拥有多个 MDI 窗体,这将是非常有用的。

  作为对象的窗体

  窗体最常用到的是构造应用程序界面,但也常常是应用程序中其它模块调用的对象。窗体与类模块关系密切。两者之间的主要区别在于,窗体是可视对象,而类模块却没有可视界面。

  添加自定义方法和属性

  可对窗体添加自定义方法和属性,并可从应用程序中的其它模块访问它们。为了创建窗体的新方法,请添加用 Public 声明的过程。

  '自定义 Form1 的方法。

  Public Sub LateJobsCount ()

  .

  .  '

  .

  End Sub

  可用下面这个语句从其它模块调用 LateJobsCount 过程:

  Form1.LateJobsCount

  创建窗体的新属性就像在窗体模块中声明一个公用变量那样简单:

  Public IDNumber As Integer

  可用下面两个语句从其它模块设置和返回 Form1 的 IDNumber 值:

  Form1.IDNumber = 3

  Text1.Text = Form1.IDNumber

  也可用 Property 过程向窗体添加自定义属性。

  详细信息 第九章“用对象编程”提供了 Property 过程的详细材料。

  注意 不必加载窗体就可调用窗体的变量或自定义方法,还可设置窗体的自定义属性。于是,不必将窗体加载到内存就可运行有关窗体的代码。同样,引用控件而不引用其属性或方法时也不会加载窗体。

  使用 New 关键字

  用 New 关键字创建新对象,这个对象被视为它的类所定义的对象。可用New 创建集合、窗体的实例以及类模块中定义的类。

  在窗体上使用 New 关键字

  在设计时创建的窗体是类。可用 New 关键字创建这个类的新实例。为了看到这一工作过程,请在窗体上画出一个命令按钮和其它几个控件。在“属性”窗口中将窗体的 Name 属性设置成 Sample。在命令按钮的 Click 事件过程中添加下列代码:

  Dim x As New Sample

  x.Show

  运行应用程序,并单击命令按钮数次。把最前面的窗体移到一边。因为窗体是具有可视界面的类,所以可看到附加副本。每个窗体在相同位置上都有相同控件,而且这些位置也正是窗体在设计时的位置。

  注意 要使窗体变量和已加载窗体的实例一直存在,请用 Static 或 Public变量,而不要用局部变量。

  也可将 New 关键字与 Set 语句并用。请试用命令按钮的 Click 事件过程中的代码:

  Dim f As Form1

  Set f = New Form1

  f.Caption = "hello"

  f.Show

热点排行