我有一个可能需要一些时间才能执行的功能。
如何在函数开始时显示一个小模态窗体,该函数在函数完成时关闭?
答案 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