各位大虾,我做了一个小的MIS(ACCESS数据库),程序运行后点击主窗体界面右上角的“关闭”按钮,或者是在主窗体界面的下拉式菜单中“退出”菜单(我给这个菜单选项对应的Click事件是Unload Me),可是两种方式主窗体界面关闭了,但是VB平台却还在程序运行状态中,请问是怎么回事,如何解决,多谢大家!
解决方案 »
- 请问,谁有测试可以通过的使用DDE技术的相关代码 呢??
- 请教思路,比如在组合框中放供应商,销售商等,是窗体初始化时就将供应商添加到组合框中,还是每次选择供应商时,弹出一个窗体让用户选择呀?
- 求库存的SQL语句,在线等待,很急的!分不够可以再给
- 如何使用listview列表项目或treeview节点的OLE拖动?
- 有偿寻b/s(浏览器/服务器)解决方案
- 想问一下VB 6.0 中的锁定控件(我没分了)
- 安装程序的问题?
- VB服务器端的编程的问题???非常急?
- 空手套白狼,呵呵
- 急啊, 救命!!!!!!!!!!!!!!!!!!
- 怎么把注册表中某项中所有的“字符串值”都列出来?
- 如何获得任务栏的句柄?
private sub form_unload()
end
end sub
'按钮关闭
private sub button_click()
unload me
end sub
调用一个窗体的隐藏方法或者设置它的可见属性来欺骗是不能关闭的。甚至如果你明确的关闭一个窗体,它将会占据一定的资源,除非这个窗体的参数没有设置。这个技巧告诉我们如何确定一个关闭程序的所有内容并且它们的资源释放将在程序结束的时候完成。 现在,我们来看看下面的例子,可以发现一些问题:Dim f As Form
For Each f In Forms
Unload f
Set f = Nothing
Next f 问题是,如果你在进程中执行这个代码,它将可以正确的工作,但是如果你从主窗口调用,它将试图关闭主窗口,这个主窗口已经在自己的关闭中运行。这里告诉你如何发现这个潜在问题:Public Sub UnloadAllForms(Optional FormToIgnore _
As String = "") Dim f As Form
For Each f In Forms
If f.Name <> FormToIgnore Then
Unload f
Set f = Nothing
End If
Next f
End Sub 在这个位置使用这个进程, 你可以这样调用它:UnloadAllForms Me.Name 现在可以关闭所有的窗口除了主窗口。如果从一个分隔的程序中调用, 不要遍历参数, 进程将会关闭程序窗口中的所有内容。
private sub form_unload(canel as integer)
If MsgBox("是否要退出!", vbYesNo) = vbNo Then
Cancel = 1
End If
End Sub