以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 请教,如何禁止同时打开相同项目? (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=41481) |
|
-- 作者:ericsky -- 发布时间:2013/10/20 19:33:00 -- 请教,如何禁止同时打开相同项目? 请教老师,要实现:同一台电脑、同时间、同一个项目、只能打开一个,可否实现,要如何设置? 谢谢!
[此贴子已经被作者于2013-10-20 19:33:04编辑过]
|
|
-- 作者:有点甜 -- 发布时间:2013/10/20 19:46:00 -- 可以用下面代码实现 全局代码: Public mu As System.Threading.Mutex BeforeOpenProject事件: Dim sucess As Boolean = False mu = new System.Threading.Mutex(True, "dsdfhdfghf", sucess) If not sucess Then MessageBox.Show("只能打开一次!") e.Cancel = True End If |
|
-- 作者:ericsky -- 发布时间:2013/10/20 19:53:00 -- 多谢甜老师,您真是太棒了!! 我去试试代码!
|
|
-- 作者:ericsky -- 发布时间:2013/10/21 11:06:00 -- 还有一个小小的问题,继续请教老师: 弹出的messagebox窗口不能前端显示,可有解决方法? 谢谢! [此贴子已经被作者于2013-10-21 11:06:28编辑过]
|
|
-- 作者:ericsky -- 发布时间:2013/10/21 20:51:00 -- 有点甜老师,烦你抽空帮忙解惑: 1、弹出的messagebox窗口不能前端显示,可能此时项目还未处于前端,故所属的窗口也不能再前端显示,是否这样?能否有方法解决? 我把代码放在afteropenproject处,倒是解决了这个问题,只是效率不高。 2、您给的代码,在狐表中是找不到的,如果实际应用,不知道有没有后遗症,能不能简单解释一下代码? 谢谢,麻烦您了! |
|
-- 作者:有点甜 -- 发布时间:2013/10/21 20:52:00 -- 你升级到最新版,就没有这个问题了。 |
|
-- 作者:ericsky -- 发布时间:2013/10/21 21:01:00 -- 我的版本已经是最新的10月13日版 [此贴子已经被作者于2013-10-21 21:01:03编辑过]
|
|
-- 作者:有点甜 -- 发布时间:2013/10/21 21:06:00 -- 那就加一句代码吧, e.HideSplashForm = True
|
|
-- 作者:ericsky -- 发布时间:2013/10/21 21:10:00 -- 甜老师,这个代码我已经尝试加了 messagebox窗口还是躲在后面 当然这只是一个小小的瑕疵,实在不行的话就在afteropenproject处应用吧。 [此贴子已经被作者于2013-10-21 21:10:17编辑过]
|
|
-- 作者:有点甜 -- 发布时间:2013/10/21 21:35:00 -- 或者你可以这样。自己调整一下,提供一个思路 Dim frm As new system.windows.Forms.Form frm.text = "提示" frm.width = 300 frm.height = 150 frm.StartPosition = system.windows.Forms.FormStartPosition.CenterScreen Dim lbl As new system.windows.Forms.Label lbl.text = "程序只能打开一次!" lbl.autosize = True lbl.Top = 40 lbl.left = 60 lbl.font = new Font("宋体", 15) frm.controls.add(lbl) frm.showdialog() |