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


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

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

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/8/18 11:31:00 [显示全部帖子]

 这个不能算是bug。

 

 如果不显示了。

 

1、你可以不把窗口设置成最顶层;

 

2、或者你在删除事件把窗口设置成非最顶层,删除以后再设置回来。

 

3、或者你自己实现删除提示和删除行的功能


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/8/18 12:06:00 [显示全部帖子]

Public TopFrms As New List(Of Winform.Form)

 

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


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

 

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

 

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

 


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | 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

 


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | 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


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | 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编辑过]

 回到顶部