1 回答

TA貢獻1799條經驗 獲得超9個贊
一般來說,如果您的表單定義為固定大小 (800 x 400),那么如果您將分辨率更改為 (800 x 600),它通常會在同一屏幕上顯得更大。
屏幕分辨率定義了構成視口的像素數。更改為高分辨率將使所有應用程序(而不僅僅是您的應用程序)顯得更小。更改為低分辨率可以使所有應用程序(不僅僅是您的應用程序)顯得更大。
改變屏幕分辨率就是改變DPI
Windows 和 WinForms 確實提供了一些用于縮放應用程序的機制,以便界面可以在不同的屏幕上更加成比例,但與 WPF/UWP 等其他技術相比,在 WinForms 中利用它可能會有點碰運氣,特別是如果您有較舊的應用程序或代碼庫。
如果縮放比例不是您所期望的,請首先檢查用戶是否已將其顯示設置中的縮放比例調回 100%,許多筆記本電腦和平板電腦已將其設置為 125% OOTB。當您沒有正確定義界面來利用字體縮放時,它可能看起來有點時髦。
將 Windows 字體縮放設置回 100% 意味著您的應用程序只需應對 DPI 縮放問題,而不是 Windows 可能施加的字體和 DPI 縮放。
顯示設置中的字體縮放,在 Windows 10 中如下所示:
閱讀:?Windows 窗體中的自動縮放
正確使用的關鍵是應用程序中的所有表單和控件都必須配置為使用基于 DPI 的縮放或基于字體的縮放。當這兩個概念混淆時,用戶界面可能看起來一團糟,因為某些元素會調整大小,而另一些則不會。
此縮放行為在表單中定義為AutoScaleMode
:
- 這在新應用程序中默認為字體。
然而,許多第三部分組件可以設置為 DPI 模式,特別是如果它們有任何繪圖畫布或其顯示邏輯由像素引用(這在 WinForms 自定義繪畫中很常見)。
因此,將表單設置為使用DPI縮放可能會解決您的問題
- 1 回答
- 0 關注
- 267 瀏覽
添加回答
舉報