Windows 窗体根据不同的显示器分辨率调整大小

我正在编写这个应用程序,它的大小为 (800 X 400)。问题是,当我在不同的显示器分辨率上运行它时,它会调整大小,并且所有对象都会变大。有没有办法在不最大化的情况下固定所有显示器分辨率的大小?



www说
浏览 215回答 1
1回答

扬帆大鱼

一般来说,如果您的表单定义为固定大小 (800 x 400),那么如果您将分辨率更改为 (800 x 600),它通常会在同一屏幕上显得更大。屏幕分辨率定义了构成视口的像素数。更改为高分辨率将使所有应用程序(而不仅仅是您的应用程序)显得更小。更改为低分辨率可以使所有应用程序(不仅仅是您的应用程序)显得更大。改变屏幕分辨率就是改变DPIWindows 和 WinForms 确实提供了一些用于缩放应用程序的机制,以便界面可以在不同的屏幕上更加成比例,但与 WPF/UWP 等其他技术相比,在 WinForms 中利用它可能会有点碰运气,特别是如果您有较旧的应用程序或代码库。如果缩放比例不是您所期望的,请首先检查用户是否已将其显示设置中的缩放比例调回 100%,许多笔记本电脑和平板电脑已将其设置为 125% OOTB。当您没有正确定义界面来利用字体缩放时,它可能看起来有点时髦。将 Windows 字体缩放设置回 100% 意味着您的应用程序只需应对 DPI 缩放问题,而不是 Windows 可能施加的字体和 DPI 缩放。显示设置中的字体缩放,在 Windows 10 中如下所示:阅读: Windows 窗体中的自动缩放正确使用的关键是应用程序中的所有表单和控件都必须配置为使用基于 DPI 的缩放或基于字体的缩放。当这两个概念混淆时,用户界面可能看起来一团糟,因为某些元素会调整大小,而另一些则不会。此缩放行为在表单中定义为AutoScaleMode:- 这在新应用程序中默认为字体。然而,许多第三部分组件可以设置为 DPI 模式,特别是如果它们有任何绘图画布或其显示逻辑由像素引用(这在 WinForms 自定义绘画中很常见)。因此,将表单设置为使用DPI缩放可能会解决您的问题
打开App,查看更多内容
随时随地看视频慕课网APP