公交车上荫蒂添的好舒服的电影-公用玩物(np双xing总受)-公用小荡货芊芊-公与妇仑乱hd-攻把受做哭边走边肉楼梯play-古装一级淫片a免费播放口

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

VisualStudio 2022 設計 WinForm 高DPI兼容程序

admin
2024年3月9日 15:36 本文熱度 1236
前言‍


本文主要解決兩個問題

  • C# Winform高DPI字體模糊

  • 高DPI下(縮放>100%), UI設計器一直提示縮放到100%, 如果不重啟到100%,設計的控件會亂飛

建立測試程序

1、新建.NET Windows窗體應用 (Winform)工程

2、選擇.NET 6.0

3、將窗體尺寸定為 1000 x 1000 , 用于后面檢測縮放是否正確

4、添加一個按鈕 , 尺寸定為 150 x 50

5、添加一個圖片框 , 尺寸定為 300 x 300 , 右鍵導入一張圖片


6、添加測試代碼

namespace WinFormsApp1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            Text = this.Width + "x" + this.Height + " pic "+ pictureBox1.Width + "x" + pictureBox1.Height + 啟動環境(); 

        }

        public static string 啟動環境()
        {
#if NET461
            return (".NET Framework 4.6.1");
#elif NET6_0
            return (".NET6");
#endif  
        }

    }
}

7、運行看看效果: .NET 6 下運行,尺寸都是對的

正式開始

1、右鍵工程,添加應用程序清單 app.manifest, 文件名用默認,修改

取消這段的注釋,打開感知 DPI

 <application xmlns="urn:schemas-microsoft-com:asm.v3">
  <windowsSettings>
   <dpiAware xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">true</dpiAware>
   <longPathAware xmlns="http://schemas.microsoft.com/SMI/2016/WindowsSettings">true</longPathAware>
  </windowsSettings>
 </application>

2、雙擊工程名稱, 編輯配置文件,

TargetFrameworks 改為雙目標框架 <TargetFrameworks>net6.0-windows;net461;</TargetFrameworks> , 保存后提示重載工程 , 最好是關閉vs再打開一次.

完整文件如下

<Project Sdk="Microsoft.NET.Sdk">

 <PropertyGroup>
  <OutputType>WinExe</OutputType>
  <TargetFrameworks>net6.0-windows;net461;</TargetFrameworks>
  <UseWindowsForms>true</UseWindowsForms>
  <ApplicationManifest>app.manifest</ApplicationManifest>
  <ApplicationVisualStyles>true</ApplicationVisualStyles>
  <ApplicationUseCompatibleTextRendering>false</ApplicationUseCompatibleTextRendering>
  <ApplicationHighDpiMode>SystemAware</ApplicationHighDpiMode>
 </PropertyGroup>

 <ItemGroup>
  <Compile Update="Properties\Resources.Designer.cs">
   <DesignTime>True</DesignTime>
   <AutoGen>True</AutoGen>
   <DependentUpon>Resources.resx</DependentUpon>
  </Compile>
 </ItemGroup>

 <ItemGroup>
  <EmbeddedResource Update="Properties\Resources.resx">
   <Generator>ResXFileCodeGenerator</Generator>
   <LastGenOutput>Resources.Designer.cs</LastGenOutput>
  </EmbeddedResource>
 </ItemGroup>
</Project>

3、如果提示找不到控件, 在 Form1.Designer.cs 和 Form1.cs 添加

using System;
using System.Windows.Forms;

4、Program.cs注釋掉 ApplicationConfiguration.Initialize();

5、運行選擇 net461

備注:我的屏幕是 2800 x 1800 ,縮放 175%

果然, 顯示尺寸不對

6、Form1.cs 添加 'AutoScaleMode = AutoScaleMode.Dpi;'

public Form1()
{
    AutoScaleMode = AutoScaleMode.Dpi; //添加這句,要在'InitializeComponent();'上方
    InitializeComponent();
}

再次運行

7、雙擊編輯窗體,沒有提示100%縮放, 添加標準菜單和DataGridView測試

完美!雙倍的快樂!

總結

  • 新建.Net Windows窗體應用 (Winform)工程 [.Net6.0]
  • 添加應用程序清單 app.manifest, 打開感知 DPI
  • TargetFrameworks 改為雙目標框架 <TargetFrameworks>net6.0-windows;net461;</TargetFrameworks>
  • Program.cs注釋掉 ApplicationConfiguration.Initialize();
  • AutoScaleMode = AutoScaleMode.Dpi; //添加這句,要在'InitializeComponent();'上方

老工程也可以通過編輯projet文件升級到這種新工程格式,支持本文說的功能


配套DEMO

https://github.com/densen2014/WinformHighDPICompatibleProgram

https://gitee.com/alexchow/WinformHighDPICompatibleProgram

轉自:AlexChow

鏈接:cnblogs.com/densen2014/p/16142939.html


該文章在 2024/3/9 15:36:12 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved

主站蜘蛛池模板: 国产在线你懂的网址深夜福利 | 国产爆乳无码一区二区麻豆 | 国产丝袜美腿高跟白浆 | 18禁美女黄网站色大片免费看下 | av人摸人人人澡人人超碰小说 | 国产极品美女高潮无套在线 | 91国高清在线播放 | 国产精品无码aⅴ在线播放 国产精品无码aⅴ在线观看播放 | 国产成人无精品久久久久国语 | 91精品国产熟女 | 国产69精品久久久久熟女 | 精品无码日韩一区二 | 国产一区二区无码蜜芽精品 | 91精品国产免费久久蜜桃 | 国产精品无码制服丝袜 | 国产色视频自在线观看 | 国产99re在线观看69热 | 97人妻在线播放 | 国产一区二区久久婷婷 | 99亚洲伊人久久精品影院 | 国产成人理在线观看视频 | 精品一区二区三区免费毛片爱 | 精品国产亚洲第一区二区三区 | 国产午夜无码喷水福利在线观看 | 国产日韩一区在线精品欧美玲 | 精品无码人妻被多人侵犯av | 极品丝袜写真大尺度无内 | 国产精品免费视频一区二区三区 | 国产成人自拍一区 | 国产精品国产高清国产专区720p | 韩国美女精品一区二区三区 | 国产爆乳无码无圣 | 国产一线二线三线女 | 国产二级一片内射视频插放 | 国产午夜无码视频在线观看 | 精品国产自线午夜福利在线观看 | 国产黑丝一区二区 | 国产一区二区三区视频高清 | 99自偷国偷产品一区电影 | 99久久精品一区二区毛片吞精 | 国产99日韩精品第一页 |