c#-如何为出现在任务栏中的应用程序的缩略图重新排序?
作者:互联网
假设您在一个应用程序中有多个窗口,并且所有窗口都设置为显示在任务栏中.将鼠标悬停在应用程序的图标上会生成一组缩略图,每个窗口一个.如果有足够的窗口,则Windows 7将按名称将其切换到高大的可滚动窗口列表.
我想以编程方式重新排序此“缩略图”列表,因为有一个特定的窗口我想从列表顶部排第二.我怎样才能做到这一点?
请注意,我无法更改窗口的创建顺序(这是一种解决方案,但不幸的是,我无法利用之一).
解决方法:
好吧,事实证明这很简单,我错了.
您需要将所有要重新排序的Window对象的ShowInTaskbar设置为false.然后按照您希望窗口出现的确切顺序将其设置回true.
无需重新创建Window对象.
就我而言,在重新排序期间,窗口闪烁一次.这可能与我当前的GFX驱动程序有关.
注意:已测试并可以在Windows 7和Windows 10上使用.
例:
using System.Windows;
namespace WpfApp1
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
Window winA = new Window();
Window winB = new Window();
Window winC = new Window();
public MainWindow()
{
InitializeComponent();
winA.Title = "A";
winB.Title = "B";
winC.Title = "C";
winB.Show();
winA.Show();
winC.Show();
}
private void Button_Click(object sender, RoutedEventArgs e)
{
winB.ShowInTaskbar = false;
winA.ShowInTaskbar = false;
winC.ShowInTaskbar = false;
winA.ShowInTaskbar = true;
winB.ShowInTaskbar = true;
winC.ShowInTaskbar = true;
}
}
}
标签:taskbar,window,wpf,c,windows-7 来源: https://codeday.me/bug/20191111/2019302.html