如何控制标题栏的关闭按钮?

p20001202 2008-11-05 10:43:44
VB调试好的EXE程序,在运行时点右上角的关闭,程序还是驻留在内存中,如何捕捉这个关闭动作,正真关闭程序?
...全文
84 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
terrywolf 2008-11-06
  • 打赏
  • 举报
回复
Unload就行
zuoxingyu 2008-11-06
  • 打赏
  • 举报
回复
[Quote=引用楼主 p20001202 的帖子:]
VB调试好的EXE程序,在运行时点右上角的关闭,程序还是驻留在内存中,如何捕捉这个关闭动作,正真关闭程序?
[/Quote]

你在代码状态下调试,也是点击右上角的关闭吗??

一般情况下遇到这样的情况,是由于程序在关闭窗体的时候,还调用了其他窗体的代码

比如你在frmMain里点X关闭,frm1里有个时钟在不断的计时,frmMain里显示frm1计时器的数据,这样你就关闭不了,看起来是都不见了,实际上还存在

检查下程序,把所有类似的代码都屏蔽掉再看下
东方之珠 2008-11-06
  • 打赏
  • 举报
回复
如果要捕捉关闭动作应该这样:

Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
Dim RetL As Long
RetL = MsgBox("你确认要关闭吗?", vbYesNo, "信息提示")
If RetL = vbYes Then
Cancel = 0
End
Else
Cancel = 1
End If
End Sub
东方之珠 2008-11-06
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 of123 的回复:]

把不可见的窗体都关闭,停止所有的 Timer 和循环中的代码。

一个简单强硬的做法:

Private Sub Form1_Unload()
End
End Sub
[/Quote]

这个好. End 的含义是由VB来做清理工作.
of123 2008-11-06
  • 打赏
  • 举报
回复

把不可见的窗体都关闭,停止所有的 Timer 和循环中的代码。

一个简单强硬的做法:

Private Sub Form1_Unload()
End
End Sub
SYSSZ 2008-11-05
  • 打赏
  • 举报
回复
这是你要的吗?
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
S = MsgBox("Unload?", vbYesNo, "信息提示")
If S = vbYes Then
End
End If
End Sub

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧