问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

VB考试教程:多窗体程序设计

发布网友 发布时间:2023-05-01 15:18

我来回答

1个回答

热心网友 时间:2023-05-19 01:56

二、多窗体程序设计   

当应用程序功能较强和分类较多,程序和用户的交互频繁时,如果只用一个窗体和用户进行交互,一方面难以进行合乎美观原则的设计,另一方面分类工作很难,设计出来的界面不符合友好原则。这时使用多重窗体程序设计,增强程序界面的友好性。

多窗体指的应用中有多个窗体,它们之间没有绝对的从属关系。每个窗体的界面设计与单窗体的完全一样,只是在设计之前应先建立窗体,这可以通过菜单“工程”/“添加窗体”命令实现。程序代码是针对每个窗体编写的,当然,应注意窗体之间存在的先后顺序和相互调用的关系。所以,多重窗体实际上是单一窗体的集合,而单一窗体是多重窗体程序设计的基础。

  一般说来,多窗体的设计基本分成以下几个步骤:  

 ◆分析应用要求,将其功能划分为不同的几部分

 ◆分别创建各个窗体、模块

 ◆在创建窗体时,除各窗体自身要完成的功能外,还要考虑窗体之间的调用关系

 ◆点击[工程]/[属性]菜单,在[启动对象]中选择应用运行时首先执行的对象

 ◆运行应用程序,检验应用及各窗体的运行情况

1、多窗体程序设计常用的方法

在单窗体程序设计中,所有的操作都在一个窗体中完成,不需要在多个窗体中切换。而在多窗体程序中,需要打开、关闭、隐藏或显示指定的窗体,这可以通过相应的语句和方法来实现。

在多窗体程序设计经常用到下面四种方法:Load,Show Hide和Unload.

(1)Load方法

它的语法结构如下:

Load [窗体名称]

使用Load方法调用的窗体被存入内存,并不显示出来,同时会产生一个Form_Load()事件。

例如:Load Form2 '将Form2窗体存入内存

(2)Show方法

它的语法结构如下:

[窗体名称].Show

Show方法用来显示被调用的窗体。Show方法兼有装入和显示两种功能,也就是说,在执行Show方法时,如果窗体不在内存中,则Show方法会自动的把窗体调入内存,然后再显示出来。

例如: Load Form2

Form2.Show '将Form2存于内存,并显示Form2窗体

(3)Hide方法

它的语法结构如下:

[窗体名称].Hide

使用Hide方法会隐藏被调用的窗体,既不在屏幕上显示,但仍在内存中(与Unload方法不同),被调用的窗体中的属性等已经处于无效的状态。

例如:

Form1.Hide

Form2.Show '将Form隐藏,并显示Form2窗体

(4)Unload方法

它的语法结构如下:

Unload [窗体名称]

使用Unload方法会清除内存中指定的窗体,与此同时,窗体中的变量和属性等都会处于无效的状态,在移去窗体的同时会产生一个Form_QueryUnload()事件。

例如:Form1.Show

Unload Form2'显示Form1窗体,从内存中移去Form2窗体。

2、一个多窗体程序设计示例      

下面就以一个示例来说明如何运进多窗体的程序设计(见教材P283)。

(1)启动新工程

1)设置属性  

首先启动一个新的工程,屏幕出现一个空白的窗体,窗体的属性设置如下:

属性 设置
Name
Form1

Caption
Form1

BorderStyle
3-Fixed Dialog'窗体的大小不能够在程序的运行过程中改变

MDIChild
False

StartUpPosition
2-CenterScreen'窗体在程序的运行过程中始终位于屏幕的*

Moveable
False'在程序的运行过程中不能够移动窗体

2)添加控件

  在空白的窗体上添加如下控件:五个Label控件、四个TextBox控件和两个CommandButton控件。              

(2)添加窗体

选择菜单“工程(Project)”/“添加窗体(add form)”命令,弹出对话框,在添加窗体的对话框中选择"窗体"项,单击[打开]按钮,系统就会自动的向原有的工程中添加一个窗体。

1)添加控件   

在新的窗体上放置一CommandButton控件,作用是在隐藏新增的窗体的同时显示原有的窗体。

则窗体如下:

2)添加代码

在"继续"按钮的Command1_Click()事件中添加下列代码:

Private Sub Command1_Click()
Form2.Hide '隐藏窗体2
Form1.Show '显示窗体1
End Sub

程序说明:在窗体Form2被显示的过程中,单击[继续]按钮,就会激活Command1_Click()事件,然后通过Form2.Hide 和Form2.Show两条语句实现隐藏窗体和显示窗体的功能。

(3)添加说明模块

选择菜单[工程]/[添加模块],就会弹出对话框:

在模块的声明段中添加下列代码:

Global a1 as Single
Global a2 as Single
Global a3 as Single
Global a3 as Single '定义四个全局变量,分别用来存储第一季度,第二季度、第三季度和第四季度的销售情况

(4)添加程序代码

1)窗体Form1中的代码如下:

Private Sub Command1_Click()
 Form1.Hide
 Form2.Show
End Sub

Private Sub Command2_Click()
 End
End Sub

Private Sub Text1_Change()
 a1 = Val(Text1.Text) 'VAL()函数用于将字符串转化为数值型
End Sub

Private Sub Text2_Change()
 a2 = Val(Text2.Text)
End Sub

Private Sub Text3_Change()
 a3 = Val(Text3.Text)
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
奥迪a6l怎么用手机连接音响放歌,我的是华为 奥迪a6l蓝牙连接了,听歌没声音 2009年6月在农业银行办理30万等额本息为10年的商业房贷,7折,现在月供... 存量房贷七折七折政策 ...在农业银行贷款27万,等额本息打七折利率按揭20年,现在的利率每月应还... 我是第一套房,在农业银行不是公积金贷款27万元20年付清利息怎么算法... 在成都交通违章网上怎么办理的 成都违章罚款网上怎么交 成都交通违章罚款在哪里交 成都违章停车可以网上交罚款吗 vb导入的窗体文件跑到设计器里了 vb中的设计器和窗体的区别? 为什么腊八蒜是绿色的? 鸱夷子的成语鸱夷子的成语是什么 macbookair版本的xd里怎么没有滑动 临床试验立项成功后方案就可以盖章嘛 儿童玩具遥控车如何使用 Photoshop两个图层吸附功能快捷键是什么啊? 三个金钱的金和起来读什么 金钱线的拼音怎样写 钱钞的网络解释钱钞的网络解释是什么 黔首[qián shǒu]什么意思?近义词和反义词是什么?英文翻译是什么? 黔黎的近义词黔黎的近义词是什么 簧舌的意思簧舌的意思是什么 鹦鹉舌的诗词鹦鹉舌的诗词是什么 妙慧的诗句妙慧的诗句是什么 妙慧的诗词妙慧的诗词是什么 怎么合理让孩子运用手机 如何让孩子合理地使用手机呢? 怎样在EXCEL里输入根号? vb中窗体设计器热键 哪个牌子触屏的手机最好 Iphone就算了 朋友们推荐下 悭家的意思悭家的意思是什么 悭家的读音悭家的读音是什么 “羌管有心催造化,楚*无语笑音尘。从今不惯罗浮热,冷淡相看万斛春。”是什么意思? 乙烯被酸性高锰酸钾氧化得到的有机物是什么 铁架储物箱跟钢架储物箱哪个好 华樱住宅家具的花架储物空间大吗?能放多少花呢 本田缤智车副架储物盖有响声 怎么添加 添加微信好友的步骤 黔江隆鑫酒店组织结构的特点 正宗凯里酸汤鱼的做法 无米面也可无鸡鸭也可无鱼肉也可无银钱也可。穷人来他这样读,富人来他就那样读。写出两中读法。 穷人子弟怎么读“无米面也可无鸡鸭也可无鱼肉也可无银钱也可” 农业银行存钱密码可以用数字加一个拼音吗 我GG号姓名的曾字的拼音(zeng打成同音字ceng),这样在银行拿的到钱吗? 崽崽zepeto有哪些功能 乌江的诗句乌江的诗句是什么 安装2007cad 电脑是xp系统 一直提示没有net 有没有大神能帮帮忙? 晨斋的网络解释晨斋的网络解释是什么