2012-07-09 53 views
1

我正试图创建一个双显示器应用程序。所以,我用下面的代码实现这一目标:任务栏前面的WPF窗口(使用双显示器),我该怎么做?

var myWindow = new MyWindow(); 

var workingArea = System.Windows.Forms.Screen.AllScreens[selectedMonitor].WorkingArea; 
myWindow.Top = workingArea.Top; 
myWindow.Left = workingArea.Left; 
myWindow.Height = workingArea.Height; 
myWindow.Width = workingArea.Width; 
myWindow.Show(); 

如果我传递给selectedMonitor值1,应用程序在第二个显示器打开,一切都很好,但是当我传递0值,应用程序在第一台显示器中打开,但窗口任务栏位于应用程序的前面。

我怎样才能把myWindow放在任务栏的前面?

回答

2

如果设置了WindowStyleNone(因此它不具有边框),并设置WindowStateMaximized或手动设置的大小,它会在任务栏的前面。如果你想要标题栏和什么,我不知道你能做什么。

此外,WorkingArea不包括标题栏上的区域。文件明确表示它排除了这一点。所以你也不想要那样。你可能只是想要Bounds

+0

当我把WindowsState最大化时,应用程序只在第一个监视器中打开,独立地是'selectedMonitor'的值。 – 2012-07-10 11:42:32

+0

随着界限的运作。我会编辑你的答案。 – 2012-07-10 12:40:32