首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >PrimaryScreen.Size的问题

PrimaryScreen.Size的问题
EN

Stack Overflow用户
提问于 2013-03-08 05:04:21
回答 2查看 10.3K关注 0票数 16

我使用Screen.PrimaryScreen.Bounds.Size已经有一段时间了,但是在连接到我的大屏幕电视上的Windows7电脑上,它给出了不正确的值。

我在其他地方阅读,尝试SystemInformation.PrimaryMonitorSize,但它给出了相同的值。

当我右键单击桌面以获得屏幕分辨率时,它显示为1920x1080。上面两个给了我1280x720

我也尝试过WPF版本:

代码语言:javascript
复制
var w = System.Windows.SystemParameters.PrimaryScreenWidth;
var h = System.Windows.SystemParameters.PrimaryScreenHeight;
MessageBox.Show(new Size((int)w, (int)h).ToString());

显示器大小已通过(右键单击桌面) Personalize > Desktop选项更改为150% (因为屏幕是60“,而您坐得有点远)。

如何检测到这一点,以便从上面返回的值可以调整?

注意:我已经发现了如何通过右键单击可执行文件来解决这个问题,并调整兼容性以禁用虚拟化,但我仍然需要一个编程解决方案,这样我就不必让用户自己调整它:请参阅- http://msdn.microsoft.com/en-us/library/dd464660(VS.85).aspx#dpi_virtualization

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-03-08 08:41:54

我不觉得这是一个重复的问题,但答案和另一个帖子上的答案是一样的:https://stackoverflow.com/a/13228495/353147因为这个问题不是关于模糊的字体,而是为什么Screen.PrimaryScreen.Bounds.Size返回错误的信息。它可以帮助其他人。

我确实遇到了一条错误消息,mscorlib抛出了一个空错误。从这个线程http://forums.asp.net/t/1653876.aspx/1中,我发现取消选中“启用ClickOnce安全设置”可以修复它。这看起来像是一个hack,但它是有效的。

票数 3
EN

Stack Overflow用户

发布于 2013-03-08 05:53:31

它可能是您在windows中设置为高于100%的Dpi设置

尝试使用此方法,这会将分辨率缩放到当前系统Dpi设置

Winforms:

代码语言:javascript
复制
private Size GetDpiSafeResolution()
{
    using (Graphics graphics = this.CreateGraphics())
    {
        return new Size((Screen.PrimaryScreen.Bounds.Width * (int)graphics.DpiX) / 96
          , (Screen.PrimaryScreen.Bounds.Height * (int)graphics.DpiY) / 96);
    }
}

WPF:

代码语言:javascript
复制
private Size GetDpiSafeResolution()
{
    PresentationSource _presentationSource = PresentationSource.FromVisual(Application.Current.MainWindow);
    Matrix matix = _presentationSource.CompositionTarget.TransformToDevice;
    return new System.Windows.Size(
        System.Windows.SystemParameters.PrimaryScreenWidth * matix.M22,
        System.Windows.SystemParameters.PrimaryScreenHeight * matix.M11);
}

注意:在运行此代码之前,请确保您的MainWindow已加载

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15281714

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档