我想在SizeChanged
事件中获取我的系统的屏幕宽度和高度。
在所有情况下都可以正常使用,不包括:
将屏幕尺寸更改为1024 X 765然后运行我的应用程序工作正常。
在我的应用程序运行时再次将屏幕尺寸更改为另一个分辨率 得到了我之前的分辨率不是最新的宽度和高度。
我在screen.primaryscreen.bounds.width
事件中使用了Window_SizeChanged
。
答案 0 :(得分:0)
您可以监控SystemEvents
的更改。
using Microsoft.Win32;
将其添加到构造函数或类似代码中:
SystemEvents.DisplaySettingsChanged +=
new EventHandler(SystemEvents_DisplaySettingsChanged);
这是事件处理程序。我将数据绑定到2个TextBox,这样我可以看到值随着我的分辨率变化而变化,包括告诉它还原。
void SystemEvents_DisplaySettingsChanged(object sender, EventArgs e)
{
data.ScreenHeight = Screen.PrimaryScreen.Bounds.Height;
data.ScreenWidth = Screen.PrimaryScreen.Bounds.Width;
}
在您的情况下,只需将作业更改为指向您要存储的位置。