如何将窗户带到顶部?

时间:2010-12-15 15:38:39

标签: c# internet-explorer modal-dialog winapi

我创建了此代码,将Internet Explorer窗口置于顶部。

    public void avtivateIEWin(IntPtr win){
        int foregrRes = SetForegroundWindow(win);
        log("foregrRes:" + foregrRes);
        ShowWindowAsync(win, SW_SHOW);
        BringWindowToTop(win);
        SetActiveWindow(win);
        SwitchToThisWindow(win, true); 
        SetFocus(win); 

}

(我的程序的目的是模拟Alt-Tab行为以在我的应用程序窗口之间切换,这是IE窗口)

是..我在这里包含了所有可能的功能......如果我只有一个IE窗口,它就可以了!

但是当我有2个IE窗口时,其中一个用showModalDialog / showModlessDialog函数打开 - 它不起作用。

看起来很奇怪但是当我从模态窗口切换到其父窗口时,焦点从模态窗口转到父窗口,但模态窗口仍在顶部。

请告知。

谢谢

1 个答案:

答案 0 :(得分:1)

这就是模态窗口的工作方式 - 当父窗口可见时,它们将始终显示在父窗口上方,并且无法更改此行为。

MSDN有更多information on owner windows,特别是它提到:

  

拥有的窗口始终位于z顺序的所有者之上。

相关问题