激活时发送窗口

时间:2011-10-25 02:57:53

标签: c# wpf windows

我在here找到了这个问题的答案。

当您只调用一次方法时,该解决方案效果很好(不要在激活的事件窗口中调用它)。我正在创建一个小工具,我希望窗口始终位于后面。如果用户点击小工具,我不希望它来到前面,这是Windows的默认行为。所以我为解决这个问题所做的就是创建这个事件:

    private void Window_Activated(object sender, EventArgs e)
    {
        SendWpfWindowBack(this);
    }

因此每次激活窗口时,都会调用我提供的第一个链接上建立的方法。问题是系统托盘被发送到后面。让我告诉你我的意思。

这是我在visual studio上的小工具。

enter image description here

当我运行它时会被发送到后面:(我打开记事本和前景以说明我的观点)

enter image description here

现在,当我点击它时,事件window_Activated触发并发送到后面:

enter image description here

但请注意系统托盘(Windows启动菜单窗口)如何发送到后面!!!!

它仍然是所有东西背后最重要的窗口,它是Windows启动菜单。我该如何解决这个问题。它为什么要放在系统托盘前面??

1 个答案:

答案 0 :(得分:2)

经过2个小时的顽固之后,我明白了......因为窗户太大了,因为某些原因发生了(小工具比整个桌面大)。我把它缩小了它的确有效。