Winforms Windows窗体解析问题

Winforms Windows窗体解析问题,winforms,resolution,Winforms,Resolution,我在Windows窗体中开发了一个1024*780分辨率的屏幕,但有人说它不适合更高的分辨率。有什么办法处理这个问题吗 有没有一种方法可以让Windows窗体应用程序在所有分辨率下看起来都一样?这就是让你说“一定有更好的方法。” 这一次我的解决方案是声明一个全局ScalingFactor变量,该变量与当前屏幕分辨率相关联。然后,将每个视觉元素的大小乘以该因子 因此,如果我为分辨率A设计表单,分辨率B大1.2倍,窗口A的宽度将为*1.2,字体将为fontSize*1.2,文本框尺寸将为维度*1.2

我在Windows窗体中开发了一个1024*780分辨率的屏幕,但有人说它不适合更高的分辨率。有什么办法处理这个问题吗


有没有一种方法可以让Windows窗体应用程序在所有分辨率下看起来都一样?

这就是让你说“一定有更好的方法。”

这一次我的解决方案是声明一个全局ScalingFactor变量,该变量与当前屏幕分辨率相关联。然后,将每个视觉元素的大小乘以该因子

因此,如果我为分辨率A设计表单,分辨率B大1.2倍,窗口A的宽度将为*1.2,字体将为fontSize*1.2,文本框尺寸将为维度*1.2

不好玩

可能有第三方工具,您可以购买,并将执行此缩放


在行驶这些道路之前,另一件要检查的事情是,是屏幕分辨率还是dpi设置导致它看起来不好。通常,较高的分辨率只会使其看起来更小,但非典型的dpi(如用户选择“大字体”时)会造成严重破坏。

我的建议不是在所有屏幕上“使其看起来相同”,而是设计GUI,使其更优雅地上下缩放。布局管理器、停靠和锚点是Winforms中的好友。TableLayoutPanel对于这类事情非常有用。拆分器也有助于


最后,这是WPF着手解决的问题之一。WPF广泛使用布局管理器。与Winforms甚至VB(老式的VB)相比,它更像Java或GTK。

您可以使用item的anchor属性,form set的autoScaleMode属性它等于“None”。

仅按X因子缩放所有内容不是正确的解决方案。策略就像表单上的某些控件可能是扩展的竞争者,而其他控件则不是。因此,缩放仅适用于这些控件。第三方工具(如devexpress布局控件等)遵循此策略。在没有第三方工具的情况下,如手动操作,当然可以有选择地进行缩放。对于已经设计好的应用程序,例如这样的应用程序,用户不会从第三方交换所有不同的控件,实际上需要某种容器控件,它可以将所有内容包装在表单中并统一缩放。