首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> 關於.NET

為托管應用程序添加 DPI Aware 支持:適配高分屏的完整步驟

     編輯:關於.NET

操作步驟

  1. 創建托管應用程序(C# 或 VB.NET),例如 WinForms 專案。
  2. 添加 app.manifest:右鍵專案 → Add New Item → Application Manifest File。
  3. 修改 Manifest 內容,關鍵節點 <dpiAware>true</dpiAware>:
<?xml version="1.0" encoding="utf-8"?>
<asmv1:assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1" ...>
<assemblyIdentity version="1.0.0.0" name="MyApplication.app"/>
<asmv3:application xmlns:asmv3="urn:schemas-microsoft-com:asm.v3">
<asmv3:windowsSettings xmlns="https://schemas.microsoft.com/SMI/2005/WindowsSettings">
<dpiAware>true</dpiAware>
</asmv3:windowsSettings>
</asmv3:application>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2"> ... </trustInfo>
</asmv1:assembly>
  1. 在 Form 上放置控件(按鈕等)以便觀察縮放效果。
  2. 創建對照專案:同樣放置控件,但不添加 Manifest。
  3. 編譯兩個專案生成可執行文件。
  4. 系統設置 DPI 縮放:桌面右鍵 → 個性化 → 顯示 → 設置自定義 DPI 為 150%。
  5. 注銷重新登錄使設置生效。
  6. 運行對比:帶 Manifest 的程序界面清晰、尺寸正確;無 Manifest 的程序會被虛擬化縮放,出現模糊或布局錯位。
















原理說明

聲明 dpiAware=true 告訴 Windows:應用程序自行處理 DPI 縮放,系統不再進行虛擬化位圖拉伸。WinForms 需配合 AutoScaleMode 等屬性實現真正的 DPI 感知佈局。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved