4

我有一个程序希望能够处理所有三种状态:

  1. 不显示在任务栏中,仅充当 Windows 声音、网络程序等小部件
  2. 显示在任务栏中 - 但不是最顶层。该窗口仍将显示通知区域图标,并且仍应以与#1 相同的方式运行,但也会在任务栏中显示该窗口。
  3. 显示在最顶部的任务栏中。窗口的行为应该与 #2 相同,但现在窗口将显示在最顶部。注意:它应该仍然能够被最小化,就像单击任务栏图标最小化程序一样。

这些是我的标准,我一直在努力让它们一起很好地工作,但我似乎无法解决最后几个调整。#1很好 - 我已经很容易地解决了这个问题。#2 和 #3 会导致更多问题。

我的第一个问题是,Windows 如何处理用户单击任务栏图标以使其最小化/切换回正常状态?因为我更喜欢用#2 和#3 来模拟它。

对于#1,我目前只需将窗口设置Window.VisibilityVisibility.Hidden. 并显示窗口,调用Show()然后Activate()

就像我说的,对于#2 和#3,我想复制 Windows 在用户单击任务栏图标时所做的事情。我可以这样做吗?还是我必须找到另一种方法来做到这一点?

4

1 回答 1

0

1-这称为缩略图按钮 在此处输入图像描述 在此处输入图像描述

您可以查看http://elegantcode.com/2010/12/17/wpf-adding-thumbnail-buttons-to-windows-7-task-bar/http://shareourideas.com/2010/12/19/ windows-7-taskbar-thumbnail-buttons-in-wpf/http://msdn.microsoft.com/en-us/library/ff699128.aspx

2- Window 类中有一个名为 TopMost 的属性。

3-用于任务栏图标

在此处输入图像描述你可以使用这个库,它易于使用且功能强大http://www.codeproject.com/Articles/22876/WPF-Taskbar-Notifier-A-WPF-Taskbar-Notification-Wi

4-最小化和最大化你可以简单地使用

this.WindowState = FormWindowState.Maximized;

* 这就是您根据需要创建应用程序所需的所有信息,如果您遇到任何问题,请仔细阅读文章,如果问题仍然存在,请准确找到问题所在并再次询问。

希望这有帮助...

于 2012-04-17T13:55:57.640 回答