我在Windows Forms中开发了一个分辨率为1024*780的屏幕,但有些人说在更高的分辨率下它不能很好地适配。是否有任何方法可以解决这个问题?
是否有一种方法可以使Windows Forms应用程序在所有分辨率下看起来都一样?
我在Windows Forms中开发了一个分辨率为1024*780的屏幕,但有些人说在更高的分辨率下它不能很好地适配。是否有任何方法可以解决这个问题?
是否有一种方法可以使Windows Forms应用程序在所有分辨率下看起来都一样?
我的建议不是让所有屏幕看起来“一样”,而是设计GUI使其更加优雅地缩放。在Winforms中,布局管理器、停靠和锚点是你的好朋友。TableLayoutPanel对这种情况非常有用。分隔符也有帮助...
最后,这是WPF旨在解决的问题之一。WPF广泛使用布局管理器。它感觉更像Java或GTK,而不是Winforms甚至是VB(老派VB)。
这就是让你想说“一定有更好的方法”的事情。
我曾经的解决方案是声明一个全局的ScalingFactor变量,它与当前屏幕分辨率相关联。然后,每个可视元素的大小都乘以该因子。
所以,如果我为分辨率A设计了我的表单,而分辨率B比A大1.2倍,窗口A的宽度将是width * 1.2,字体大小将是fontSize * 1.2,文本框尺寸将是dimensions * 1.2。
不好玩。
可能有第三方工具可以购买并执行此缩放。
在您沿着这些道路之前要检查的另一件事是,是否实际上是屏幕分辨率还是dpi设置导致其看起来很糟糕。通常,更高的分辨率只会使其看起来更小,但是非典型的dpi,例如当用户选择“大号字体”时,会造成严重影响。