首先简化了Program文件,引入了全局命名空间,但顶级语句由于Main函数的特性[STAThread]没有引用进来 。
namespace WinFormsDemo{internal static class Program{/// <summary>///The main entry point for the Application./// <h/summary>[STAThread]static void Main(){ApplicationConfiguration.Initialize();Application.Run(new frmMain());}}}
ApplicationConfiguration.Initialize,其实是进行了一个封装,代码如下:
using System.Drawing;using System.Runtime.CompilerServices;using System.windows.Forms;namespace WinFormsDemo{/// <summary>///Bootstrap the application configuration./// </summary>[CompilerGenerated]internal static partial class ApplicationConfiguration{/// <summary>///Bootstrap the application as follows:///<code>///Application.EnableVisualStyles();///Application.SetCompatibleTextRenderingDefault(false);///Application.SetHighDpiMode(HighDpiMode.SystemAware);/// </code>/// </summary>public static void Initialize(){Application.EnableVisualStyles();Application.SetCompatibleTextRenderingDefault(false);Application.SetHighDpiMode(HighDpiMode.SystemAware);}}}
再就是引入了全局字体设置,可以在Main引入,也可以在项目文件中配置:
[STAThread]static void Main(){ApplicationConfiguration.Initialize();Application.SetDefaultFont(new Font("汉仪篆书繁", 12));Application.Run(new frmMain());}
或(但项目文件中配置发现不如代码中引入,有点变形,这里还需要完善)
<Project Sdk="Microsoft.NET.Sdk"><PropertyGroup><OutputType>WinExe</OutputType><TargetFramework>net6.0-windows</TargetFramework><Nullable>enable</Nullable><UseWindowsForms>true</UseWindowsForms><ImplicitUsings>enable</ImplicitUsings><ApplicationDefaultFont>汉仪篆书繁, 12pt</ApplicationDefaultFont></PropertyGroup></Project>
效果如下:
文章插图
【.net6给winform带来的新功能】
再有就是更好的支持高DPI,还有一些新的PAI和修改过的API,具体参见:
https://docs.microsoft.com/zh-cn/dotnet/desktop/winforms/whats-new/net60?view=netdesktop-6.0
文章来源于桂迹,作者桂素伟
推荐阅读
- 自媒体踩坑经验,我是怎么把一个小爆款给作没的
- 给老师的祝福语有哪些?
- 发型|女发别乱剪,新人气发型4种送给你,你看美不美
- 展现量60多万跌至几十,我走过的弯路经验分享给你们
- 起重机|写给正面临职业选择的人,如何才能选到适合自己的职业呢?
- 加纳利和卡斯罗谁厉害,鹦鹉吃加纳利子的好处
- 给自媒体创业者的3条忠告,提高收益的技巧,是我自己的运营干货
- |职场销售中报价的技巧,价格不应该随便说出口,如何给客户报价
- 什么是二维制图?三维制图和二维制图有什么区别_1
- 乾隆为什么没死就让位给嘉庆?乾隆没死就传位嘉庆吗_1