如何在函数结束时关闭的函数的开头显示表单?

时间:2012-11-20 22:15:06

标签: forms vb6 modal-dialog

我有一个可能需要一些时间才能执行的功能。

如何在函数开始时显示一个小模态窗体,该函数在函数完成时关闭?

3 个答案:

答案 0 :(得分:2)

说frmModal是你想要展示的形式。在你的功能开始时放入

frmModal.Show
frmModal.refresh

在你的功能结束时加入

Unload frmModal

答案 1 :(得分:2)

我最喜欢的技巧是将运行的代码放入运行时显示的表单中。完成后,请调用Unload Me

'Code in Form1
Call frmWait.Show(vbModal, Me)

'Code in frmWait
Private Sub Form_Activate()

    'Do some work ...

    Unload Me

End Sub

答案 2 :(得分:1)

当您加载表单模态(form1.show vbmodal)时,在模型表单关闭之前不会执行后续代码

一种简单的方法(没有api)来模拟你想要的表格是无模式的,并暂时禁用其他表格

查看以下测试项目中command1和command2之间的区别:

'3 forms :
'    Form1 : name=Form1
'        contains 2 command buttons with the name Command1 and Command2
'    Form2 and Form3 contain nothing special
Option Explicit

Private Sub Command1_Click()
  Dim lngEnd As Long
  Form3.Show vbModal
  lngEnd = Timer + 5
  Do While Timer < lngEnd
    Caption = CStr(Timer)
    DoEvents
  Loop
  Unload Form3
End Sub

Private Sub Command2_Click()
  Dim lngEnd As Long
  Enabled = False
  Form2.Show vbModeless, Me
  lngEnd = Timer + 5
  Do While Timer < lngEnd
    Caption = CStr(Timer)
    DoEvents
  Loop
  Enabled = True
  Unload Form2
End Sub