Private Sub MDIForm_Unload(Cancel As Integer)
    On Error Resume Next
    Cancel = True
    If MsgBox("是否关闭本程序?" & vbCrLf, vbInformation + vbYesNo + vbDefaultButton1, "注意") = vbYes Then
        End
    End If
End Sub
在主窗口打开着 MDICHILD 子窗的时候 点击退出按钮,在unload时 执行以上代码为什么 我点“取消”后  ,子窗口都关闭了??
怎么解决这个问题呢? 

解决方案 »

  1.   

    症状是这样的MDIForm 是主窗口   setupfrm 是 MDICHILD = true 的 子窗口,此时是打开的
    我点击了 主窗口的关闭按钮
    弹出关闭提示,我点击了取消。
    本来我希望是什么都不变的  子窗口保持打开可是事实上却不是  子窗被关了,只剩了一个空的主窗口朋友们帮着分析分析 谢谢啊
      

  2.   

    & vbCrLf, vbInformation + vbYesNo + vbDefaultButton1
    这里真接改成52不就行了么?不知道是不是你想要的效果
      

  3.   

    你在 if 后边执行了 end 语句,自然会关闭所有的窗口
    你换成 unload me 看看!
      

  4.   

    不好意思,没仔细看
    你这样
     
    dim qr as string
    qr=msgbox("是否关闭本程序?", vbInformation + vbYesNo,"注意") 
    if qr=vbno then exit sub然后把 Cancel=true 去掉!
      

  5.   

    不能在Unload 事件中写,放到QueryUnload 事件中即可Private Sub MDIForm_QueryUnload(Cancel As Integer, UnloadMode As Integer)
         On Error Resume Next 
        Cancel = True 
        If MsgBox("是否关闭本程序?" & vbCrLf, vbInformation + vbYesNo + vbDefaultButton1, "注意") = vbYes Then 
            End 
        End If End Sub
      

  6.   

    没错  是 QueryUnload 事件谢谢大家都帮助  给分!!