Visual Basic. NET 程序设计
第10章 多窗体程序设计与环境应用
内容提要
多窗体程序设计 Visual Basic. NET程序结构 模块和窗体 闲置循环与DoEvents方法
简单Visual Basic应用程序通常只包括一个窗 体,称为单窗体程序。在实际应用中,特别是 对于较复杂的应用程序,单一窗体往往不能满 足需要,必须通过多个窗体(Multi-Form)来 实现。在多窗体程序中,每个窗体可以有自己 的界面和程序代码,完成不同的操作。
10.1 多窗体程序设计
在多重窗体程序中,要建立的界面由多个窗体组成, 每个窗体的界面设计与以前讲的完全一样,只是在设 计之前应先建立窗体,这可以通过“项目”菜单中的 “添加Windows窗体”命令实现,每执行一次该命令 建立一个窗体。 程序代码是针对每个窗体编写的,因此也与单一窗体 程序设计中的代码编写类似,但应注意各个窗体之间 的相互关系。 多窗体实际上是单一窗体的集合,而单一窗体是多窗 体程序设计的基础。掌握了单一窗体程序设计,多窗 体的程序设计是很容易的。
多窗体程序
设计有关的方法和关键字
在单窗体程序设计中,所有的操作都在一个窗 体中完成,不需要在多个窗体间切换。而在多 窗体程序中,需要打开、关闭、隐藏或显示指 定的窗体,这可以通过相应的方法来实现
Close方法 Show方法 ShowDialog方法 Hide方法 Me关键字
Close方法
格式:[窗体名称 窗体名称].Close 窗体名称 关闭指定的窗体,释放窗体所占用的资源。例如: Me.Close 将关闭当前窗体。 执行该方法后,将释放在该对象内建立的所有资源。如果要关闭的窗体是应 用程序的启动窗体,则结束该应用程序。 当窗体所占用的资源(例如内存)另有他用,或者需要重新设置窗体的 初始属性时,有必要关闭窗体。一个窗体被关闭之后,在运行时加到该窗体 上的控件将不能再被访问,而设计时在该窗体上建立的控件保持不变。当访 问关闭后的窗体上的控件时,将重新打开该窗体。
Show方法
格式:[窗体名称 窗体名称.]Show 窗体名称 Show方法用来显示一个窗体,如果省略“窗体名称”,则显示当前窗体。 显示窗体相当于把窗体的Visible属性设置为True,在调用Show方法之后,只要 不调用Hide方法,窗体的Visible属性的返回值总为True。 Show方法兼有装入和显示窗体两种功能。也就是说,在执行Show时,如果 窗体不在内存中,则Show自动把窗体装入内存,然后再显示出来。
ShowDialog方法
格式:窗体名称 窗体名称.ShowDialog 窗体名称 将窗体显示为没有所有者窗口的模态对话框。该方法与Show方法类 似,但用它显示的窗体是“模态型”窗体。在这种情况下,鼠标只
在此 窗体内起作用,不能到其他窗口内操作,只有在关闭该窗口后才执行此 方法后面的代码,才能对其他窗口进行操作。而用Show方法显示的窗体 为“非模态型”窗口,不用关闭该窗体就可以对其他窗口进行操作。
Hide方法
格式:[窗体名称 窗体名称.]Hide 窗体名称 Hide方法使窗体隐藏,即不在屏幕上显示,但仍在内存中,因此,它与 Close语句的作用是不一样的。如果省略“窗体名称”,则隐藏当前窗体。执 行Hide方法后,将从屏幕上删除窗体,但应用程序仍可以访问窗体上的控件。 如果在调用Hide方法时窗体还没有加载,则加载该窗体,但不显示。 隐藏一个窗体相当于把该窗体的Visible属性设置为False,在调用Hide方 法后,只要不调用Show方法,窗体的Visible属性总是返回False。
Me关键字
在多窗体程序中,经常要用到关键字Me,它的行为与引用类的当前实例的 对象变量类似。一个类可以有多个实例,Me提供了一种方法,用来引用代码正 在执行的该类的特定实例。在向另一个类或模块中的过程传递关于某个类的当 前执行实例的信息时,使用Me尤其有用。例如,假定建立