【问题标题】:Upgrading .net frame work to .net 6 win forms results in UI being larger将 .net 框架升级到 .net 6 win 表单会导致 UI 变大
【发布时间】:2021-12-31 11:53:04
【问题描述】:

我已将 winforms 从 .net 框架升级到 .net 6,没有编译问题,但由于 UI 稍大,因此可以构建和运行。这使得大部分应用程序在大小方面都出现问题(事物被切断或不显示,因为它们不受控制等)。

我已经检查了两个控件的设计器,并且框架版本和 .net 6 版本之间的大小值相同 项目文件中是否有一些设置正在缩小 .net 框架中的控制 UI?

.net 框架版本的示例

这是 .net 6 版本

下面是运行时的样子,.net6 为红色,.netframework 版本为蓝色

【问题讨论】:

  • WinForms 设计器不是一个好的 WYSIWYG 编辑器:您不应该假设它提供了准确的预览 - 我怀疑您遇到了与使用基于字体大小的问题有关的问题布局或 DPI 设置。您能否缩小InitializeComponent() 中设置的内容与运行时实际布局之间的确切差异?
  • 嗨,我刚刚检查了整个表单,然后查看了取消按钮。在designer.cs 中显示尺寸(187, 43),但在属性(UI 视图)中尺寸为(218, 50),为什么不采用设计器设置?
  • 187 vs 218 有 15% 的差异 - 您是否以 115% DPI 运行?
  • 我没有手动更改任何内容,我只是安装了 .net 6 并尝试升级。所以我得看看这个
  • 你知道与 2022 相比 dpi 设置在哪里吗?

标签: upgrade .net-framework-version .net-6.0


【解决方案1】:

添加这行好像解决了startup/program.cs类https://www.codeguru.com/csharp/windows-forms-gets-font-changes-designers-and-more-in-net-6-0/的问题

 [STAThread]
    public static void Main(string[] args)
    {
     .....
     Application.SetDefaultFont(new Font(new FontFamily("Microsoft Sans Serif"), 8f));
     ......
    }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-01-21
    • 2022-06-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-27
    • 1970-01-01
    相关资源
    最近更新 更多