2010-02-18 70 views
2

我有一個Window設置爲我的顯示器的高度和寬度:WPF窗口大小調整時,計算機被鎖定

var r = System.Drawing.Rectangle.Union(System.Windows.Forms.Screen.AllScreens[0].Bounds, System.Windows.Forms.Screen.AllScreens[1].Bounds); 
Height = r.Height; 
Width = r.Width; 

這是所有罰款,直到我鎖我的電腦(WIN + L),當我回來該窗口已將其自身調整爲僅在一個顯示器上。

我想要做的是防止尺寸的減小,因爲我在畫布上繪製第二臺顯示器上,而當調整大小時,這是所有關於如何我失去了..

有什麼想法可以防止這個?

乾杯!

回答

1

您可以使用.NET中的解鎖/鎖定事件。在鎖定事件期間存儲窗口的高度,寬度和位置,並在解鎖事件中恢復它。請務必添加 「使用的Microsoft.Win32

SystemEvents.SessionSwitch += new SessionSwitchEventHandler(SystemEvents_SessionSwitch); 

private void SystemEvents_SessionSwitch(object sender, SessionSwitchEventArgs e) 
{ 
    if (e.Reason == SessionSwitchReason.SessionUnlock) 
    { 
     //Put resize logic here 
    } 
    else if (e.Reason == SessionSwitchReason.SessionLock) 
    { 
     //Put size store logic here 
    } 
} 
+0

良好,即解決它! – 2010-02-19 16:23:45

+0

@Chris。你能發佈你的工作代碼嗎?我試過這個,不能讓它工作。或者'SessionLock'事件被觸發時,窗口已經被調整大小或者恢復不在'SessionUnlock'事件上。 – ChrisF 2010-05-19 22:31:19

+0

@Chris - 沒關係。我用另一種方式解決了這個問題。 – ChrisF 2010-05-21 11:23:57

相關問題