Foxtable(狐表)用户栏目专家坐堂 → [求助]怎么判断项目中是否有其他窗口打开?


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

主题:[求助]怎么判断项目中是否有其他窗口打开?

美女呀,离线,留言给我吧!
fiendcat
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:49 积分:561 威望:0 精华:0 注册:2017/6/6 16:45:00
[求助]怎么判断项目中是否有其他窗口打开?  发帖心情 Post By:2018/4/27 12:52:00 [只看该作者]

如题,在关闭一个窗口时,写在afterclose中,怎么判断项目中是否有其他窗口打开?谢谢!

 回到顶部
美女呀,离线,留言给我吧!
fiendcat
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:49 积分:561 威望:0 精华:0 注册:2017/6/6 16:45:00
  发帖心情 Post By:2018/4/27 14:37:00 [只看该作者]

求助大神

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


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

For Each f As WinForm.Form In Forms
    If f.opened Then
        msgbox(f.name)
    End If
Next

 回到顶部
美女呀,离线,留言给我吧!
fiendcat
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:49 积分:561 威望:0 精华:0 注册:2017/6/6 16:45:00
  发帖心情 Post By:2018/4/27 15:29:00 [只看该作者]

谢谢。不过我放在窗口的afterclose 上,没有消息跳出,是不是不起作用?

 回到顶部
美女呀,离线,留言给我吧!
fiendcat
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:49 积分:561 威望:0 精华:0 注册:2017/6/6 16:45:00
  发帖心情 Post By:2018/4/27 15:41:00 [只看该作者]

我刚测试了下,起作用,但是明明窗口开着,也返回false ,是什么原因呢?

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


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

写下面代码,如果123没有弹出,说明事件不执行,如果窗口名没有弹出,说明没有窗口打开。

 

msgbox(123)

For Each f As WinForm.Form In Forms
    If f.opened Then
        msgbox(f.name)
    End If
Next


 回到顶部
美女呀,离线,留言给我吧!
fiendcat
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:49 积分:561 威望:0 精华:0 注册:2017/6/6 16:45:00
  发帖心情 Post By:2018/4/27 15:48:00 [只看该作者]

Dim  f As WinForm.Form 
f = Forms("标准作业程序SOP窗口")
If f.Opened Then
    Messagebox.Show("窗口已经打开!")
End If

这个就可以跳出提示框 说 窗口已经打开,但是下面代码都是返回false,这是什么原因呢?(我也测试过,f会包含 “标准作业程序SOP窗口”这个窗口)
For Each f As WinForm.Form In Forms
    If f.opened Then
         Messagebox.Show(f.name)
    End If
Next
[此贴子已经被作者于2018/4/27 15:50:02编辑过]

 回到顶部
美女呀,离线,留言给我吧!
fiendcat
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:49 积分:561 威望:0 精华:0 注册:2017/6/6 16:45:00
  发帖心情 Post By:2018/4/27 15:49:00 [只看该作者]

我测试过,代码是执行的

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


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

代码绝对不会有问题,请认认真真测试。

 回到顶部
美女呀,离线,留言给我吧!
fiendcat
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:婴狐 帖子:49 积分:561 威望:0 精华:0 注册:2017/6/6 16:45:00
  发帖心情 Post By:2018/4/27 15:55:00 [只看该作者]

For Each f As WinForm.Form In Forms
    If Forms(f.name).opened Then
        MessageBox.Show("111111")
    End If
Next

这样就可以,奇怪
[此贴子已经被作者于2018/4/27 15:55:24编辑过]

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