研究顯示僅約 55% 使用者將顯示器設定為最高解析度,大多因高解析度字太小而降低解析度,但這會導致 ClearType 模糊、無法呈現高保真內容、照片品質下降。Windows 7 鼓勵使用者提高 DPI 設定 (而非降低解析度) 以獲得清晰文字與高保真顯示。然而,未具備 DPI 感知的應用程式在高 DPI 下會出現文字截斷、版面錯位、圖片模糊等問題。
隨著 Windows 7 釋出,高 DPI 環境將更普遍:OEM 預裝高 DPI 筆電、乾淨安裝預設高 DPI、控制台 DPI 設定更易發現。支援高 DPI 已成應用程式必備素質。
AutoScaleMode 達成自動縮放

HighDPIApp.sln,設定 HighDPIManagedApp 為啟動專案。AutoScaleMode = None):
| UI 元素 | 144 DPI 外觀 |
|---|---|
| 表單大小 | 相同 (未縮放) |
| 按鈕大小 | 相同 |
| PictureBox 大小 | 相同 |
| 文字大小 | 較大 (系統字體放大) |
| 按鈕文字截斷 | 是 |
| 視窗文字截斷 | 是 |
| 長寬比維持 | 是 (但內容被截斷) |
原因: AutoScaleMode = None 完全停用自動縮放,表單與控制項維持設計時像素大小,唯有系統字體隨 DPI 放大,導致文字溢出截斷。
DemoApp.cs,選取表單。AutoScaleMode 改為 Font。
| UI 元素 | 144 DPI 外觀 |
|---|---|
| 表單大小 | 較大 |
| 按鈕大小 | 較大 |
| PictureBox 大小 | 較大 |
| 文字大小 | 較大 |
| 按鈕文字截斷 | 否 |
| 視窗文字截斷 | 否 |
| 長寬比維持 | 否 (PictureBox 變形) |
特性: 所有元素隨字體放大等比例縮放,解決文字截斷,但不保持長寬比,導致圖片拉伸變形。適合以文字為主、無圖形或不在意比例的表單。
AutoScaleMode 改為 Dpi。
| UI 元素 | 144 DPI 外觀 |
|---|---|
| 表單大小 | 較大 |
| 按鈕大小 | 較大 |
| PictureBox 大小 | 較大 |
| 文字大小 | 較大 |
| 按鈕文字截斷 | 是 (但較少) |
| 視窗文字截斷 | 是 (但較少) |
| 長寬比維持 | 是 (圖片不變形) |
特性: 水平/垂直依 DPI 同比例縮放,完美保持長寬比,圖片、圖示不變形。文字仍可能輕微截斷 (因字體渲染與控制項邊界計算差異)。適合含圖片、圖表、圖形介面的表單。
Font:純文字/資料輸入表單,無圖形,不在意比例。Dpi:含圖片、圖表、工具列圖示,需保持視覺比例。None:特殊需求 (如固定大小視窗、自行處理縮放)。