gpt4 book ai didi

c# - Windows 窗体和高 DPI 屏幕

转载 作者:行者123 更新时间:2023-12-01 20:25:49 24 4
gpt4 key购买 nike

我有一个名为 TMO ( http://gotmo.co.uk ) 的 Outlook 插件,它有一个 Windows 窗体,单击 Outlook 工具栏中的“帮助”按钮即可打开该窗体。问题是,当我在 Surface Pro 等高 DPI 屏幕上使用 TMO 时,表单呈现非常复杂(见截图)。但是,在其他笔记本电脑上,表单呈现正确。

事实上,如果我在 Surface Pro 上运行一个测试应用程序,我从中加载相同的表单,它会正确呈现。请参阅随附的屏幕截图。

从我目前的阅读来看,Windows 窗体需要特殊处理才能在高 DPI 屏幕上正确呈现。但我无法弄清楚需要编写哪些代码才能做到这一点。我的两个具体问题是

  • 为什么在 Outlook 与 STand Alone 中启动时,相同的表单在高 DPI 屏幕上呈现不同。
  • 需要(一般)编写哪些代码来处理在高 DPI 屏幕上呈现的 Windows 表单。

  • Distorted

    Correct

    最佳答案

    我最终通过稍微重新设计表单来解决它,以便它们在所有屏幕上正确呈现。另外以下帮助

  • 将单个控件分组到诸如分组框和面板之类的容器中。
  • 在每个父容器内正确使用控件的 Anchor 属性,以便它们在其父容器内缩放。
  • 将父窗体的 AutoScaleMode 设置为 Dpi,将 AutoSizeMode 设置为 GrowAndShrink

  • 我能够跨表单重复执行上述 3 个步骤并可靠地更改它们以在高 DPI 和常规屏幕上工作

    关于c# - Windows 窗体和高 DPI 屏幕,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44243080/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com