我的应用程序有一个托盘图标,双击它会隐藏或显示应用程序窗口。我的问题是,如果窗口在隐藏时处于最小化状态,我似乎无法将其置于前台。
例如,假设用户最小化应用程序,然后双击托盘图标。然后应用程序窗口被隐藏并从任务栏中消失。当用户再次双击托盘图标时,应用程序窗口应该出现,即它应该从最小化状态恢复并被带到前台。
下面的代码应该做到这一点,但由于某种原因它没有:
private void TrayIcon_DoubleClick(object sender, EventArgs e)
{
if (this.Visibility == Visibility.Hidden)
{
this.Visibility = Visibility.Visible;
this.WindowState = WindowState.Normal;
this.Activate();
}
...
}
应用程序保持最小化,不会被带到前台。Activate()返回 true,随后对TrayIcon_DoubleClick()的调用表明状态确实设置为Normal。