以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  有关BeforeCloseProject事件问题?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=7060)

--  作者:baoxyang
--  发布时间:2010/5/10 23:58:00
--  有关BeforeCloseProject事件问题?

在BeforeCloseProject中代码如下:

if Vars("IP") <> "" then
   Dim Result As DialogResult
   Result = MessageBox.Show("请检查是否有数据未保存,确定要退出系统吗?", "警告", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
   If Result = DialogResult.Yes Then 
    Dim cmd As New SQLCommand
    cmd.C
    dim date1 as string = format(date.now,"yyyy-MM-dd")
    dim time1 as string = format(date.now,"HH:mm:ss")
    dim login as string = "【退出系统】"
    dim use1 as string = "未登陆"
    cmd.CommandText = "Insert Into [用户日志] (用户名,登陆日期,登陆时间,使用模块) Values(\'" & Vars("用户") & "\',\'"& date1 &"\',\'"& time1 &"\',\'"& login &"\')"
    cmd.ExecuteNonQuery()
    cmd.CommandText = "Update [权限] set 使用状态 = \'"& use1 &"\' where 名称 = \'"& Vars("用户") &"\'"
    cmd.ExecuteNonQuery()
    Syscmd.Project.Exit(False)
   Else
      e.Cancel = True
   End if
end if

 

 

怎么按“是”退不出项目,按“否”才退出呢?请帮看看代码有问题吗?


--  作者:狐狸爸爸
--  发布时间:2010/5/11 10:58:00
--  
没看出问题了
--  作者:baoxyang
--  发布时间:2010/5/11 11:24:00
--  

是否Syscmd.Project.Exit(False)与BeforeCloseProject不能同时使用吗?

 

这样做的目的是,因为Currenttable.grid.Findform.ControlBox = False  \'关闭主窗口关闭按钮时连最小化也给关了,,所以保留可以直接关闭系统的“X”,为了防止弹出的对话框,按保存时把不需要的修改表的数据给误保存了,才使用以上方法来控制退出系统之前直接不保存退出系统。

请问有无其它办法?

 

最好Currenttable.grid.Findform.ControlBox = False 只关闭“X”,保留最大化及最小化,就可解决上述问题。


--  作者:贺老六
--  发布时间:2010/5/11 12:03:00
--  
不应该在BeforeCloseProject执行Syscmd.Project.Exit(False)