【发布时间】:2011-10-25 02:57:53
【问题描述】:
我在here找到了这个问题的答案。
当您只调用一次该方法时,该解决方案效果很好(不要从激活的事件窗口中调用它)。我正在创建一个小工具,我希望窗口始终位于后面。如果用户单击小工具,我不希望它出现在前面,这是 Windows 的默认行为。所以我为了解决这个问题所做的就是创建这个事件:
private void Window_Activated(object sender, EventArgs e)
{
SendWpfWindowBack(this);
}
所以每次激活窗口时,它都会调用基于我提供的第一个链接的方法。问题是系统托盘被发送到后面。让我告诉你我的意思。
这是我在 Visual Studio 上的小工具。
当我运行它时,它会被发送到后面:(我打开记事本和 Outlook 来说明我的观点)
现在,当我点击它时,事件 window_Activated 会触发并将其发送到后面:
但请注意系统托盘(windows 启动菜单窗口)是如何被送到后面的!!!!
除了最重要的窗口(即 Windows 启动菜单)之外,它仍然是一切的幕后黑手。我该如何解决这个问题。为什么会出现在系统托盘前面!?
【问题讨论】: