我有一个程序希望能够处理所有三种状态:
没有显示在任务栏中,仅充当Windows声音,网络程序等小部件
显示在任务栏中-但不是最上方。该窗口仍将显示通知区域图标,并且其行为仍应与#1相同,而且还会在任务栏中显示该窗口。
在任务栏中显示为最高。该窗口的行为应与#2相同,但是现在该窗口将显示在最上方。注意:应该仍然可以将其最小化,就像单击任务栏图标可以最小化程序一样。
这些是我的标准,我一直在努力使它们都能很好地协同工作,但是我似乎无法消除最后的一些调整。 #1很好-我已经很轻松地解决了这个问题。 #2和#3导致更多问题。
我的第一个问题是,Windows如何处理用户单击任务栏图标的操作,以使其最小化/切换回正常状态?正如我更喜欢使用#2和#3进行模拟。
对于#1,我目前仅通过将Window.Visibility
设置为Visibility.Hidden
即可隐藏窗口。要显示该窗口,请调用Show()
,然后调用Activate()
。
就像我说的那样,对于#2和#3,我想复制Windows在用户单击任务栏图标时执行的操作。我可以那样做吗?还是我必须找到另一种方法来做到这一点?
最佳答案
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;
*这就是创建所需应用程序所需的全部信息,如果遇到任何问题,请仔细阅读文章,如果问题仍然存在,请确切地查找问题所在并再次询问。
希望这个帮助...