实验八 多重窗体与环境应用
8.1.1 实验目的
1)掌握VB多重窗体程序的概念。
2)掌握多重窗体程序的设计方法。
3)复习各种控件的使用方法。
8.1.2实验内容
采用多窗体技术编写程序,分别在不同的窗体上实现输入一个学生个人资料,输入和计算一个学生的学习成绩。
8.1.3 实验步骤
实验步骤如下:
1) 建立启动窗体界面与设置对象属性。选择“新建”工程,进入窗体设计器,在窗体中添加命令按钮组Command1(0)~Command1(3),并修改属性如图8-1左所示。系统默认窗体Form1为启动窗体。
图8-1 程序界面设计
2) 添加窗体。选择“工程”菜单,打开“添加窗体”对话框。按“打开”按钮,添加3个标准窗体Form2~Form4。添加标准模块。选择“工程”菜单,打开“添加模块”对话框。按“打开”按钮,添加1个标准模块Module1。
3) 建立子窗体界面与设置对象属性。界面如图8-1所示,设置属性如表所示。
表8-1 Form1属性设置
对象 属性 属性值 说明
Form1 Name frmMain 启动窗体
Caption 多重窗体示例
Command1(0) Caption 输入个人资料
Command1(1) Caption 输入成绩
Command1(2) Caption 计算成绩
Command1(3) Caption 退出
表8-2 Form2属性设置
对象 属性 属性值 说明
Form2 Name frmInputzl 输入个人资料窗口
Caption 输入个人资料
Label1(0) Caption 姓名
Label1(1) Caption 性别
Label1(2) Caption 民族
Label1(3) Caption 班级
Text Name txtName
Caption
Option1 Caption 男
Value True 默认被选中
Option2 Caption 女
Option3 Caption 汉族
Value True 默认被选中
Option4 Caption 少数民族
Frame1 Caption 爱好
Check1 Caption CS
Check2 Caption 红警
Check3 Caption 大话
Check4 Caption 梦幻
Combo1 Text 请选择班级……
CommandButton Name cmdInputzlReturn
Caption 返回
表8-3 Form3属性设置
对象 属性 属性值 说明
Form3 Name frmInputcj 输入成绩窗口
Caption 输入成绩
Label1(0) Caption 数学
Label1(1) Caption 物理
Label1(2) Caption 化学
Label1(3) Caption 语文
Label1(4) Caption 英语
TextBox Name txtMath 数学成绩
Caption
TextBox Name txtPhysics 物理成绩
Caption
TextBox Name txtChemistry 化学成绩
Caption
TextBox Name txtChinese 语文成绩
Caption
TextBox Name txtEnglish 英语成绩
Caption
CommandButton Name cmdInputcjReturn
Caption 返回
表8-4 Form4属性设置
对象 属性 属性值 说明
Form4 Name frmOutput 计算成绩窗口
Caption 计算成绩
Label Name LabelOutput 个人资料输出位置
Caption
Label1(0) Caption 平均成绩:
Label1(1) Caption 总 分:
TextBox Name txtAverage 平均成绩
Caption
TextBox Name txtTotal 总 分
Caption
CommandButton Name cmdOutputReturn
Caption 返回
4) 编写代码。
编写模块Module1的代码,对全局变量进行说明。
Public sMath, sPhysics, sChemistry, sChinese, sEnglish As Single '存放各科成绩
Public strZl As String '存放个人资料
编写“启动”窗体frmMain(Form1)中代码:
Private Sub Command1_Click(Index As Integer)
n = Index
Select Case n
Case 0
frminputzl.Show '装入并显示“输入个人资料窗体”
Me.Hide
Case 1
frminputcj.Show '装入并显示“输入成绩窗体”
Me.Hide
Case 2
frmoutput.Show '装入并显示“计算成绩窗体”
Me.Hide
Case 3
End
End Select
End Sub
编写“输入个人资料”窗体frmInputzl(Form2)中的代码:
Private Sub cmdInputzlReturn_Click()
p1 = IIf(txtName.Text = "", "没有名字", txtName.Text) & vbCrLf
p2 = IIf(Option1, "男", "女") & vbCrLf
p3 = IIf(Option3, "汉族", "少数民族") & vbCrLf
p4 = "喜欢:"
If Check1.Value = 1 Then p4 = p4 + Check1.Caption + "、"
If Check2.Value = 1 Then p4 = p4 + Check2.Caption + "、"
If Check3.Value = 1 Then p4 = p4 + Check3.Caption + "、"
If Check4.Value = 1 Then p4 = p4 + Check4.Caption + "、"
p4 = p4 & vbCrLf
p5 = Combo1.Text & vbCrLf
strZl = p1 + p2 + p3 + IIf(p4 = "喜欢:", "没有爱好。", p4) + p5
frminputzl.Hide
frmmain.Show
End Sub
Private Sub Form_Load()
Combo1.AddItem "060121"
Combo1.AddItem "060122"
Combo1.AddItem "060141"
Combo1.AddItem "060142"
End Sub
编写“输入成绩”窗体frmInputcj(Form3)中的代码:
Private Sub cmdinputcjreturn_Click()
sMath = Val(txtMath.Text)
sPhysics = Val(txtPhysics.Text)
sChemistry = Val(txtChemistry.Text)
sChinese = Val(txtChinese.Text)
sEnglish = Val(txtEnglish.Text)
frminputcj.Hide
frmmain.Show
End Sub
编写“计算成绩”窗体frmOutput(Form4)中的代码:
Private Sub cmdOutputReturn_Click()
frmoutput.Hide
frmmain.Show
End Sub
Private Sub Form_Activate()
Dim sTotal As Single
sTotal = sMath + sPhysics + sChemistry + sChinese + sEnglish
txtAverage.Text = sTotal / 5
txtTotal.Text = sTotal
LabelOutput.Caption = strZl
End Sub
5) 运行窗体。启动程序后,屏幕出现启动窗体,单击按钮,显示相应窗体,可以执行相应的命令,如图10-2所示。
图10-2 多重窗体程序
|