.net6给winform带来的新功能

首先简化了Program文件,引入了全局命名空间,但顶级语句由于Main函数的特性[STAThread]没有引用进来。

namespace WinFormsDemo
{
    internal static class Program
    {
        /// <summary>
        ///  The main entry point for the application.
        /// </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>

效果如下:

66f3fa35cbf049eb04fd08c195de39e3.png

再有就是更好的支持高DPI,还有一些新的PAI和修改过的API,具体参见:

https://docs.microsoft.com/zh-cn/dotnet/desktop/winforms/whats-new/net60?view=netdesktop-6.0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值