第一步,設置程序的主窗體這個屬性爲:Manual
第二步,編寫獲取屏幕數的代碼
先要添加引用:System.Windows.Forms
然後,關鍵代碼如下:
void SetShowScreen()
{
if (Screen.AllScreens.Length > 1)
{
Screen s2 = Screen.AllScreens[1];
System.Drawing.Rectangle r2 = s2.WorkingArea;
this.Left = r2.Left;
this.Top = r2.Top;
//不能在這裏設置窗體狀態
//this.WindowState = WindowState.Maximized;
}
else
{
Screen s1 = Screen.AllScreens[0];
System.Drawing.Rectangle r1 = s1.WorkingArea;
this.Top = r1.Top;
this.Left = r1.Left;
//不能在這裏設置窗體狀態
//this.WindowState = WindowState.Maximized;
}
}
注意這裏設置窗體狀態的時機,也就是WindowState這個值,
如果想窗體最大化化可以在窗體的Load事件中來設置
上面的完整的cs代碼如下:
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
SetShowScreen();
}
void SetShowScreen()
{
if (Screen.AllScreens.Length > 1)
{
Screen s2 = Screen.AllScreens[1];
System.Drawing.Rectangle r2 = s2.WorkingArea;
this.Left = r2.Left;
this.Top = r2.Top;
//不能在這裏設置窗體狀態
//this.WindowState = WindowState.Maximized;
}
else
{
Screen s1 = Screen.AllScreens[0];
System.Drawing.Rectangle r1 = s1.WorkingArea;
this.Top = r1.Top;
this.Left = r1.Left;
//不能在這裏設置窗體狀態
//this.WindowState = WindowState.Maximized;
}
}
private void Window_Loaded(object sender, RoutedEventArgs e)
{
this.WindowState = WindowState.Maximized;
}
}