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),当我回来时,窗口已经调整大小,只在一台显示器上。

我想要做的是防止尺寸减小,因为我在第二台显示器上的画布上绘图,当发生调整大小时,这一切都丢失了。

关于如何防止这种情况的任何想法?

干杯!

4

1 回答 1

1

您可以在 .NET 中使用解锁/锁定事件。在锁定事件期间存储您的窗口高度、宽度和位置,并在解锁事件时恢复它。确保添加“ 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 回答