以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]软件控制栏中的关闭按钮问题  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=35641)

--  作者:benhu
--  发布时间:2013/6/29 10:09:00
--  [求助]软件控制栏中的关闭按钮问题
1:为防止操作时直接关闭系统导致有些数据不能保存,想将软件控制栏中的关闭控制取消掉。或是保留,但不执行动作,只弹出窗口提示要安全退出系统。

PS:是软件控制栏,不是窗体控制栏


2:以下代码不是已经退出时保存了吗,为什么确认后,系系还会提示是否要保存文件。

图片点击可在新窗口打开查看此主题相关图片如下:123.bmp
图片点击可在新窗口打开查看

If MessageBox.Show("确定退出系统吗?","提示",MessageBoxButtons.YesNo, MessageBoxIcon.Question) = DialogResult.Yes Then       
         Syscmd.Project.Exit(True)       
End If
[此贴子已经被作者于2013-6-29 10:09:48编辑过]

--  作者:Bin
--  发布时间:2013/6/29 10:26:00
--  
我测试了一下,并未发现有这个问题啊.
--  作者:benhu
--  发布时间:2013/6/29 10:42:00
--  

图片点击可在新窗口打开查看此主题相关图片如下:s.bmp
图片点击可在新窗口打开查看

如果对表加上这句时,在退出时才不会问,否则在表没保存前,安全退出时就会问

If DataTables("表A").HasChanges Then
DataTables("表A").Save
End If

--  作者:Bin
--  发布时间:2013/6/29 10:48:00
--  
你是希望点击右上角关闭的按钮的时候不提示?

那只能是在BEForCloseProJect里保存所有表了

If MessageBox.Show("确定退出系统吗?","提示",MessageBoxButtons.YesNo, MessageBoxIcon.Question) = DialogResult.Yes Then       
         Syscmd.Project.Exit(True)       
End If
放在按钮里才可以



--  作者:benhu
--  发布时间:2013/6/29 11:00:00
--  
以下是引用Bin在2013-6-29 10:48:00的发言:
你是希望点击右上角关闭的按钮的时候不提示?

对这个关闭按钮:

为防止操作时直接关闭系统导致有些数据不能保存,两种取一种做法 

1:想将软件控制栏中的关闭控制取消掉
2:或是保留此按钮,但点击后不执行关闭动作,只弹出窗口提示“你不能直按关闭,请选择安全退出系统”。



--  作者:Bin
--  发布时间:2013/6/29 11:03:00
--  
BEForCloseProJect 事件添加如下代码即可.

MessageBox.show("你不能直按关闭,请选择安全退出系统")
e.Cancel=True

--  作者:benhu
--  发布时间:2013/6/29 11:20:00
--  
图片点击可在新窗口打开查看太感谢了
--  作者:benhu
--  发布时间:2013/6/29 13:08:00
--  回复:(Bin)BEForCloseProJect 事件添加如下代码即可...
按钮这个问题解决了,但如果BEForCloseProJect 事件添加如下代码即可.

MessageBox.show("你不能直按关闭,请选择安全退出系统")

e.Cancel=True

在安全退出系统时也出现了("你不能直按关闭,请选择安全退出系统")这信息,程序不能关。


想实现按自定菜单安全退出,在退出前保存了文件,以下代码还要如何更改才能既保存文件退出了,
但不会出现("你不能直按关闭,请选择安全退出系统")这信息。

If MessageBox.Show("确定退出系统吗?","提示",MessageBoxButtons.YesNo, MessageBoxIcon.Question) = DialogResult.Yes Then       
         Syscmd.Project.Exit(True)       
End If


--  作者:Bin
--  发布时间:2013/6/29 14:03:00
--  
使用全局变量加个判断

if 全局变量=false then
MessageBox.show("你不能直按关闭,请选择安全退出系统")

e.Cancel=True
end if

需要退出的时候 把 全局变量赋值为 TRUE即可退出