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

VB考试教程:多窗体程序设计,第1张

二、多窗体程序设计

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

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

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

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

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

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

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

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

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

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

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

(1)Load方法

它的语法结构如下:

Load [窗体名称]

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

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

(2)Show方法

它的语法结构如下:

[窗体名称]Show

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

例如: Load Form2

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

(3)Hide方法

它的语法结构如下:

[窗体名称]Hide

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

例如:

Form1Hide

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

(4)Unload方法

它的语法结构如下:

Unload [窗体名称]

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

例如:Form1Show

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)”命令,d出对话框,在添加窗体的对话框中选择"窗体"项,单击[打开]按钮,系统就会自动的向原有的工程中添加一个窗体。

1)添加控件

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

则窗体如下:

2)添加代码

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

Private Sub Command1_Click()

Form2Hide '隐藏窗体2

Form1Show '显示窗体1

End Sub

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

(3)添加说明模块

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

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

Global a1 as Single

Global a2 as Single

Global a3 as Single

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

(4)添加程序代码

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

Private Sub Command1_Click()

Form1Hide

Form2Show

End Sub

Private Sub Command2_Click()

End

End Sub

Private Sub Text1_Change()

a1 = Val(Text1Text) 'VAL()函数用于将字符串转化为数值型

End Sub

Private Sub Text2_Change()

a2 = Val(Text2Text)

End Sub

Private Sub Text3_Change()

a3 = Val(Text3Text)

VB60

全称为VisualBasic

60,是微软公司推出的可视化编程工具MSDN之一,是目前世界上使用最广泛的程序开发工具。如果你是一个对编程一无所知,而又迫切希望掌握一种快捷实用的编程语言的初学者,那选择VB

60没错的。即使考虑到VB程序本身编译和运行效率较低的不足(嘻嘻速度现在不是问题吧),单是它的快捷的开发速度,简单易学的语法,体贴便利的开发环境,它仍不失一款优秀的编程工具,是初学者的首选。

也许你会问,我以前没学过任何一种语言,我能快速上手吗?别担心,没问题VB的语法的和QBASIB语言是基本相同的,也就是说它的语法是最容易被初学者所接受的。另外VB提供的是可视化的开发环境,我们可以象搭积木一样构建出程序的界面,而且VB提供了丰富的控件组,省去了我们自己写代码实现这些效果的麻烦,这样我们就能把更多的精力放在程序功能的实现上,所以VB学起来简单,用起来方便。

接着看看VB语言的前景,在目前各种编程语言共存的时代,VB会不会落伍呢?当然不会了,在我写这篇文章的同时,微软已经透露了

VB70将完全面向对象的消息,可以肯定下一代VB的功能一定会强大很多,我们这些所谓的

VB

程序员总算可以放心了,VB不会落后于时代,毕竟它是使用人数最多的优秀的开发工具。

好了,侃了这么多关于VB的台前幕后,总之是为想学编程的你树立信心,编程一点都不难,只要你决定了开始,就让我们一起踏上愉快的编程之旅吧。

接下来谈谈怎样学习VB,先说说“看实例学VB60”系列教程,它是面向编程初学者的VB入门教程,这个教程的特点是抛开晦涩难懂的概念和语法,不做内容上的堆积和罗列,而是采用了每节一个生动有趣的小例子的形式,每个小例子中会涉及到一个或几个VB编程的知识点(可能是控件,也许会是某个函数或编程小技巧),使你快速入门。

从对编程一窍不通或从未接触过编程的状态,通过学习能够对VB60的编程环境比较熟悉,掌握VB开发界面的使用方法;对VB语言的基本语法大致了解,知道常见的语句的意义;学习VB常用控件的使用方法,并能将它们灵活运用到应用程序中;能开发简单的VB程序。到那时你已经能够继续深入的学习VB编程,可以继续参与到程序设计栏目其他版块的学习中去,嘻嘻,目标就是这样啦。

然后谈谈学习编程的方法,万事开头难,刚刚开始,遇到些困难没关系,慢慢来。编程是一个不断学习,不断积累的过程,编程的乐趣也正是存在于学习的过程中。我们每学一点,就赶快把它用到实际的程序中去,自己多学多用多实践,水平才能不断提高,这就是“学以致用”。

另外,编程涉及到很多的知识,象 *** 作系统的、软件工程的、硬件系统的以及编程思想等各个方面,这就需要我们多看看这方面的资料,扩充自己的知识面。

还有如果学习过程中遇到了什么问题,或者有什么好的心得,你可以到洪恩的“网上交流”的“编程技术”版去提问求助或是发表文章,那里有许多编程高手可以为你答疑,还有许多同样的初学者一起交流。

“求知无限”是网上学习的特点,如果你觉得自己能够更深的学习VB或是其他编程的知识时,“程序设计”栏目的其他版块将是理想的去处,希望我们能在这样的学习环境中不断进步。

教程分为三个大的部分,它们是由浅入深的一个系列,分别是:

一、熟悉一下VB60的编程环境

二、学习VB常用控件的使用方法

三、试着开发简单的VB应用程序

vb代码如下:

Private Sub Command1_Click()

Dim a As Single, b As Single, c As Single

Dim d As Single, x1 As Single, x2 As Single

a = InputBox("请输入一元二次方程的系数a")

b = InputBox("请输入一元二次方程的系数b")

c = InputBox("请输入一元二次方程的系数c")

If a = 0 Then

a = InputBox("因为a≠0,你输入的a=0,请重新输入系数a")

End If

d = b b - 4 a c

If d >= 0 Then

x1 = (-b + Sqr(d)) / (2 a)

x2 = (-b - Sqr(d)) / (2 a)

Print "系数为"; a; b; c; "的一元二次方程的根分别为"; x1

Print "系数为"; a; b; c; "的一元二次方程的根分别为"; x2

Else

Print "此方程在实数范围内无解"

End If

End Sub

一、按钮“求一元二次方程”的vb代码如下:

Private Sub Command1_Click()

a = Text1Text

b = Text2Text

c = Text3Text

d = b b - 4 a c

If d >= 0 Then

X1 = (-b + Sqr(d)) / (2 a)

X2 = (-b - Sqr(d)) / (2 a)

Label4Caption = X1

Label5Caption = X2

Else

Label4Caption = "在实数范围内无解"

End If

End Sub

二、按钮“重置”的vb代码如下:

Private Sub Command2_Click()

Text1Text = ""

Text2Text = ""

Text3Text = ""

Label4Caption = ""

Label5Caption = ""

End Sub

三、按钮“退出”的vb代码如下:

Private Sub Command3_Click()

End

End Sub

特殊例子(指定系数c的值为5):

在窗体“Form1frm”的“Command1_click“事件中编写代码(请不要随便更改其它代码),使之能够实现如下功能:在Text1输入整数a、、Text2输入b,判断一元二次方程ax2+bx+5=0有无实数根。并在Text3文本框中显示判断结果,即有实数根则在Text3文本框中输出“有”,否则输出“无”。

VB程序代码如下:

Private Sub Command1_Click()

dim a as single,b as single

a = Text1Text

b = Text2Text

d = b b - 4 a 5

If d >= 0 Then

Text3Text="有"

Else

Text3Text="无"

End If

End Sub

如果不用dim定义变量,则上面的输入部分语句改为下面的语句,这样可以把字符变量类型转化为数值类型:

a =val(Text1Text)

b =val(Text2Text)

以上就是关于VB考试教程:多窗体程序设计全部的内容,包括:VB考试教程:多窗体程序设计、VB6.0入门教程和技巧有哪些、设计一个VB程序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/zz/9599564.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-30
下一篇2023-04-30

发表评论

登录后才能评论

评论列表(0条)

    保存