2

Windowモニターの高さと幅のセットがあります。

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 つのモニターのみに表示されます。

私がしたいのは、サイズの減少を防ぐことです.2番目のモニターのキャンバスに描画しているため、サイズ変更が発生すると、これはすべて失われます..

これを防ぐ方法について何か考えはありますか?

乾杯!

4

1 に答える 1

1

.NET で Unlock/Lock イベントを使用できます。ロック イベント中にウィンドウの高さ、幅、位置を保存し、ロック解除イベントで復元します。「 using 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
    }
}
于 2010-02-19T14:43:55.883 に答える