Foxtable(狐表)用户栏目专家坐堂 → 报告一下小bug.独立窗口挡住系统弹窗


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

主题:报告一下小bug.独立窗口挡住系统弹窗

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


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

 呃,分开写

 

全局代码

 

Public TopFrms As New List(Of Winform.Form)

 

'----------------------------

 

BeforeDeleteDataRow事件


TopFrms.Clear
For Each frm As WinForm.Form In Forms
    If frm.Opened AndAlso frm.TopMost Then
        frm.Topmost = False
        TopFrms.Add(frm)
    End If
Next

 

'-----------

 

DataRowDeleted事件

 

For Each frm As WinForm.Form In TopFrms
    frm.Topmost = True
Next

 


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


加好友 发短信
等级:五尾狐 帖子:1022 积分:12768 威望:0 精华:0 注册:2011/5/29 15:19:00
  发帖心情 Post By:2014/8/18 14:15:00 [只看该作者]

BeforeDeleteDataRow事件可以作用,独立窗口变不是最顶层了。

DataRowDeleted事件不能作用,独立窗口的最顶层变不回来了。

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


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

 单独执行这段代码呢?

 

msgbox(TopFrms.Count)

For Each frm As WinForm.Form In TopFrms
    frm.Topmost = True
Next


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


加好友 发短信
等级:五尾狐 帖子:1022 积分:12768 威望:0 精华:0 注册:2011/5/29 15:19:00
报告,发现问题。  发帖心情 Post By:2014/8/18 14:37:00 [只看该作者]

对话框显示:
0

原先取消最顶层的窗口还是不能恢复。

另外说明一下,现在是在窗口表中,开启全局表事件的。
情况就如上。

如果是在项目的原始表中,两事件写上代码。是两个都不执行的。就是,独立窗口不会取消最顶层的设置。还是会挡住了。
[此贴子已经被作者于2014-8-18 14:40:47编辑过]

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


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

 要改一下。

 

TopFrms.Clear
For Each frm As WinForm.Form In Forms
    If frm.Opened AndAlso frm.baseform IsNot Nothing AndAlso frm.baseform.TopMost Then
        frm.baseform.Topmost = False
        TopFrms.Add(frm)
    End If
Next

 

----------------

 

For Each frm As WinForm.Form In TopFrms
    frm.BaseForm.Topmost = True
Next

[此贴子已经被作者于2014-8-18 15:16:36编辑过]

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


加好友 发短信
等级:版主 帖子:5246 积分:33163 威望:0 精华:8 注册:2013/1/17 21:28:00
  发帖心情 Post By:2014/8/18 14:53:00 [只看该作者]

用下面的弹窗应该行:

MessageBox.Show("文件不存在或已经被删除!","提示",MessageBoxButtons.Ok,MessageBoxIcon.Warning,0, Windows.forms.MessageBoxOptions.ServiceNotification)


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


加好友 发短信
等级:五尾狐 帖子:1022 积分:12768 威望:0 精华:0 注册:2011/5/29 15:19:00
  发帖心情 Post By:2014/8/18 14:58:00 [只看该作者]

还是不行。我用我上的例子,加上你的代码。

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


加好友 发短信
等级:版主 帖子:5246 积分:33163 威望:0 精华:8 注册:2013/1/17 21:28:00
  发帖心情 Post By:2014/8/18 15:14:00 [只看该作者]

楼主的问题,我也遇到过,置顶的窗口,靠边放,不要放到屏幕中间,因为弹窗肯定在中间。

 回到顶部
总数 18 上一页 1 2