Foxtable(狐表)用户栏目专家坐堂 → 请教,如何禁止同时打开相同项目?


  共有4121人关注过本帖树形打印复制链接

主题:请教,如何禁止同时打开相同项目?

帅哥哟,离线,有人找我吗?
ericsky
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:361 积分:3810 威望:0 精华:0 注册:2012/4/16 20:20:00
请教,如何禁止同时打开相同项目?  发帖心情 Post By:2013/10/20 19:33:00 [只看该作者]

请教老师,要实现:同一台电脑、同时间、同一个项目、只能打开一个,可否实现,要如何设置?
谢谢!
[此贴子已经被作者于2013-10-20 19:33:04编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By: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
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:361 积分:3810 威望:0 精华:0 注册:2012/4/16 20:20:00
  发帖心情 Post By:2013/10/20 19:53:00 [只看该作者]

多谢甜老师,您真是太棒了!!
我去试试代码!

 回到顶部
帅哥哟,离线,有人找我吗?
ericsky
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:361 积分:3810 威望:0 精华:0 注册:2012/4/16 20:20:00
  发帖心情 Post By:2013/10/21 11:06:00 [只看该作者]

还有一个小小的问题,继续请教老师:
弹出的messagebox窗口不能前端显示,可有解决方法?
谢谢!


[此贴子已经被作者于2013-10-21 11:06:28编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
ericsky
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:361 积分:3810 威望:0 精华:0 注册:2012/4/16 20:20:00
  发帖心情 Post By:2013/10/21 20:51:00 [只看该作者]

有点甜老师,烦你抽空帮忙解惑:

1、弹出的messagebox窗口不能前端显示,可能此时项目还未处于前端,故所属的窗口也不能再前端显示,是否这样?能否有方法解决?
我把代码放在afteropenproject处,倒是解决了这个问题,只是效率不高。

2、您给的代码,在狐表中是找不到的,如果实际应用,不知道有没有后遗症,能不能简单解释一下代码?

谢谢,麻烦您了!

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2013/10/21 20:52:00 [只看该作者]

你升级到最新版,就没有这个问题了。

 回到顶部
帅哥哟,离线,有人找我吗?
ericsky
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:361 积分:3810 威望:0 精华:0 注册:2012/4/16 20:20:00
  发帖心情 Post By:2013/10/21 21:01:00 [只看该作者]

我的版本已经是最新的10月13日版
[此贴子已经被作者于2013-10-21 21:01:03编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2013/10/21 21:06:00 [只看该作者]

那就加一句代码吧,

e.HideSplashForm = True

 回到顶部
帅哥哟,离线,有人找我吗?
ericsky
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:361 积分:3810 威望:0 精华:0 注册:2012/4/16 20:20:00
  发帖心情 Post By:2013/10/21 21:10:00 [只看该作者]

甜老师,这个代码我已经尝试加了
messagebox窗口还是躲在后面
当然这只是一个小小的瑕疵,实在不行的话就在afteropenproject处应用吧。



[此贴子已经被作者于2013-10-21 21:10:17编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By: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()

 回到顶部
总数 11 1 2 下一页