【问题标题】:Changing Screen Resolution更改屏幕分辨率
【发布时间】:2010-07-24 11:08:21
【问题描述】:

我有一个 C# WPF 应用程序,我希望它在启动时改变屏幕分辨率,如果它不是它应该工作的,就像游戏一样。

我知道如何获取屏幕分辨率,但我不知道如何将其设置为我想要的。

注意:我不使用 ASP 或 WEB,只是一个桌面应用程序

【问题讨论】:

  • 只是一个友好的建议:请记住,大多数用户使用 LCD 屏幕,这在其原始分辨率下效果最佳。我会认为一个桌面程序会改变我的分辨率非常烦人,并立即将其扔掉。
  • @driis:我正在开发的应用程序在特定分辨率下显示效果最好,所以我正在考虑将分辨率更改为我需要的分辨率,然后在 focusLost() 或应用程序关闭时将其改回.
  • 是的,driis 是对的。 LCD 显示器无法在某些分辨率下工作,因此您的应用程序将无法用于不支持您的分辨率的它们。此外,如果您的应用程序崩溃,这将使用户将分辨率设为原始分辨率,这也很烦人。所以我认为这样做不是个好主意。
  • 不要侵入...修改您的设计,使其足够直观,以便用户更改设置。不要乱用原生设置。

标签: c# wpf screen-resolution


【解决方案1】:

此 API 函数可让您更改显示设置:

        [DllImport("user32.dll")]
        static extern int ChangeDisplaySettings(
        ref DEVMODE devMode, int flags);

This文章解释了如何使用这个功能

【讨论】:

    【解决方案2】:

    你为什么需要这个。

    我认为您不应该这样做,而是可以在 ViewBox 中构建应用程序,并让您创建与分辨率无关的 UI。

    请查看我的文章: http://www.dotnetfunda.com/articles/article827-resolution-independent-ui-.aspx

    【讨论】:

    • 滚动条可以代替视图框吗?
    • 嘿,如果您希望您的应用程序具有滚动条,只需以这样一种方式创建您的应用程序,即您放置在框内的每个 ScrollViewer 都将具有其最小高度和宽度。是的,我一直在广泛使用 ViewBox,它对我们非常有效。
    猜你喜欢
    • 2012-03-04
    • 1970-01-01
    • 1970-01-01
    • 2012-06-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-06
    • 2014-05-25
    相关资源
    最近更新 更多