如何在C#WPF应用程序中获得屏幕大小的实际值
我正在尝试在如何在C#WPF应用程序中获得屏幕大小的实际值,c#,wpf,C#,Wpf,我正在尝试在SizeChanged事件中获取系统的屏幕宽度和高度 除以下情况外,它在所有情况下都可以正常工作: 将屏幕大小更改为1024x765,然后运行我的应用程序,它可以正常工作 当我的应用程序运行时,再次将屏幕大小更改为其他分辨率 已获取以前分辨率的宽度和高度不是当前分辨率 我在窗口大小更改事件上使用了screen.primaryscreen.bounds.width。您可以监视系统事件的更改 using Microsoft.Win32; 将其添加到构造函数或类似内容: SystemEv
SizeChanged
事件中获取系统的屏幕宽度和高度
除以下情况外,它在所有情况下都可以正常工作:
我在
窗口大小更改事件上使用了screen.primaryscreen.bounds.width
。您可以监视系统事件的更改
using Microsoft.Win32;
将其添加到构造函数或类似内容:
SystemEvents.DisplaySettingsChanged +=
new EventHandler(SystemEvents_DisplaySettingsChanged);
下面是事件处理程序。我将数据绑定到两个文本框中,这样我就可以在我弄乱分辨率时看到值的变化,包括告诉它恢复
void SystemEvents_DisplaySettingsChanged(object sender, EventArgs e)
{
data.ScreenHeight = Screen.PrimaryScreen.Bounds.Height;
data.ScreenWidth = Screen.PrimaryScreen.Bounds.Width;
}
在您的情况下,只需将作业更改为指向您要存储它的位置。我的回答有帮助吗?我知道它使用了与您使用的相同的属性,但它在SystemEvents
中使用,而不是在窗口事件中使用。