第八章 界面设计 第 21 页 共 47 页
If UnloadMode = vbFormControlMenu Then ' 卸载来自form1的控制菜单或关闭按钮 Cancel = 1
MsgBox \必须单击窗体上的图片框才能关闭窗体form1\ End If End Sub
(3) Show方法:显示一个窗体(当窗体还没有Load,自动Load) 格式:[窗体名称].Show [模式] (缺省名称为当前窗体) 模式(Style):
0 - Modeless:(“共存模式”,也称“非模式”,“无模式)。是指每个窗体都处于平等的地位,都可以接受用户的操作。即可以对其它窗体进行操作。(缺省模式)
1 - Modal:(“排父”模式, 也称“有模式”)。窗体与窗体之间有父子关系,当“子”窗体显示时,父窗体就动不了。例如当单击“纪事本”的 “文件|打开”菜单时,出现的“打开”对话框窗体就是“排父”模式,此时用户可以处理其它应用程序,但无法编辑纪事本中的文字,只有关闭了“打开”对话框窗体才能编辑纪事本中的文字。
还有一种叫“排他模式”(System Modal)的窗体,例如,系统死机时,所出现的窗体就属于这一种,其时用户无法操作其它所有窗体。
(4) Hide方法:隐藏窗体,但没有将窗体从内存中(Unload)删除,只是将窗体
从屏幕上清除并使其Visible属性设置为False,用户无法访问窗体上的控件,但对于运行中的Visual Basic 应用程序或通过DDE与该应用程序通信的进程及Timer控件的事件,隐藏窗体的控件仍然是可用的。
格式: [窗体名称.] Hide
6.不同窗体间数据的存取 (1) 存取控件的属性
格式:另一窗体名.控件名.属性 (2) 存取变量的值
格式:另一窗体名.全局变量名
[例8_b1] 多重窗体示例输入和计算学习成绩。 [例8_b1] 在myvb\\vb8\\ex8_b1\\ lbc8_b1.vbp ‘模块文件
Public MATH As Single Public PHYSICS As Single Public CHEMISTRY As Single Public CHINESE As Single Public ENGLISH As Single
'主窗体文件
Private Sub cmdEnd_Click() 'frmMain输入结束按钮 End End Sub
Visual Basic6.0 第 页 共 47 页 21
第八章 界面设计 第 22 页 共 47 页
Private Sub cmdInput_Click() 'frmMain输入按钮 frmMain.Hide '隐藏主窗体
frmInput.Show '加载并显示输入窗体 End Sub
Private Sub cmdOutput_Click() 'frmMain输出按钮 frmMain.Hide
frmOutput.Show '加载并显示输出窗体 End Sub
'输入窗体文件(成绩放在该窗体的文本框中)
Private Sub cmdReturn_Click() 'frmInput窗体的返回按钮
MATH = Val(txtMath.Text)
PHYSICS = Val(txtPhysics.Text) CHEMISTRY = Val(txtChemistry.Text) CHINESE = Val(txtChinese.Text) ENGLISH = Val(txtEnglish.Te