【问题标题】:AutoScaling WinForm Display (Small, Medium)AutoScaling WinForm 显示(小、中)
【发布时间】:2013-04-19 17:38:45
【问题描述】:

首先,请原谅我,但由于我在工作中安装了 Windows,所以我的屏幕截图是法语的。尽管如此,它仍然很容易理解。我将包含屏幕截图以使其更具视觉吸引力。

这里有一些背景信息:

  • Windows 7 64 位
  • Visual Studio 2010
  • 默认显示为 100%
  • AutoScaleMode:DPI
  • 自动尺寸:

我的应用程序是在默认(小 - 100%)显示中开发的 Windows 窗体。像这样:

如您所见,“Petite”或Small显示是默认选择。

小显示屏 - 100%(默认)

这是我的应用程序在此设置下的外观。 这是正确的显示

中等显示 - 125%

红色矩形指出不需要的空白区域。

我试过了:

  • 锚定 / 停靠我的控件,例如我的拆分容器、表格布局面板、列表视图在 Form_Load 用户界面。这不起作用。
  • 给表单添加一个拆分容器,所有控件分别分离到里面
  • 添加表格布局面板,所有文本框和按钮都位于各自的单元格中

我真的认为由于锚定和对接而存在缩放问题。虽然这似乎不是问题......似乎有问题的是选项卡控件和列表视图......

一些用户(大多数)将其设置设为默认设置 (100%),但也有少数用户将其设置为中等设置,从而导致此缩放问题。有没有办法解决这个问题?

【问题讨论】:

    标签: vb.net winforms scaling dpi autoscalemode


    【解决方案1】:

    由于某种原因,我看不到您的屏幕截图或链接,因此我无法想象问题。如果缩放是问题,请尝试将AutoScaleMode 设置为None

    我最近不得不这样做,因为我的 winform 应用程序是图像密集型应用程序,它无法在中等设置上正确呈现,因为我使用默认的 Small Settnigs 显示构建它。将缩放模式更改为 None 对我有用。

    【讨论】:

    • 真的吗?这很奇怪......它们是否显示为断开的链接或什么?太烂了,我放了很多截图:(
    • 啊.. 图像显然被工作防火墙阻止了.. 它们出现在不同的网络上 - 抱歉误报 :) - 看到屏幕,我怀疑我的回答是否适用
    • 感谢您的尝试!
    【解决方案2】:

    我通过将选项卡控件和列表视图放在表格布局面板中解决了我的问题。所有没有正确缩放的东西都必须放在 TableLayoutPanel 中。我将AutoScaleMode 保留为DPI,将AutoSize 保留为True

    确保将所有内容停靠在其父容器中。

    这是更直观的文档大纲(比如我):

    【讨论】:

      【解决方案3】:

      只需单击表单并转到属性窗格。找到 Anchor 元素并单击下拉菜单。您单击方形结构中的所有线条以变为灰色。然后点击进入。问题已解决。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-05-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-09-25
        • 1970-01-01
        • 1970-01-01
        • 2014-09-25
        相关资源
        最近更新 更多