程序只有一个主窗体form
现在我主窗体的visible设为true,当执行程序的时候,窗体正常显示了出来,这时,我点击最小化按钮,希望窗体隐藏,并且过一段时间,窗体再显示出来,我自己定义了一个delay函数,Form_Resize代码如下
Private Sub Form_Resize()
  If Me.WindowState = vbMinimized Then
    Me.Hide         //让窗体隐藏
    delay(2000)     //等待2秒
    Me.Show         //让窗体再显示出来
  End If
End Sub现在问题是,我点击了最小化按钮之后,窗体确实也隐藏了,但是等待了2秒之后,却不能正常显示出来.delay函数如下:
Public Sub Delay(mSec As Long)
On Error GoTo ShowErr
Dim TStart As Single
TStart = Timer
While (Timer - TStart) < (mSec / 1000)
DoEvents
Wend
Exit Sub
ShowErr:
MsgBox Err.Source & "------" & Err.Description
Exit Sub
End Sub到底问题出在哪里啊?
另外,我点击关闭窗体按钮,也希望是同样的效果,是在 Form_Unload函数中写吗?我是新手,请大家帮帮忙

解决方案 »

  1.   

    修改后
    Private Sub Form_Resize()
        If Me.WindowState = vbMinimized Then
            Me.Hide                   '让窗体隐藏
            Delay (2000)          '等待2秒
            Me.WindowState = vbNormal   '其实只加了这行
            Me.Show                   '让窗体再显示出来
        End If
    End Sub
    如果想要关闭时候也是同样效果,加入
    Private Sub Form_Unload(Cancel As Integer)
        
        Me.Hide                   '让窗体隐藏
        Delay (2000)          '等待2秒
        Me.WindowState = vbNormal
        Me.Show                   '让窗体再显示出来
        
        Cancel = True
    End Sub
    这里面有些重复代码,你自己规整一下吧,问题是解决了