• .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>

    效果如下:

     再有就是更好的支持高DPI,还有一些新的PAI和修改过的API,具体参见:https://docs.microsoft.com/zh-cn/dotnet/desktop/winforms/whats-new/net60?view=netdesktop-6.0

     

      想要更快更方便的了解相关知识,可以关注微信公众号 
     

     

     

     
  • 相关阅读:
    Cocos2d-x学习之---自定义图标(带触摸事件)
    Cocos2d-x关于ScrollView
    学习实战三:基于Cocos2d-x引擎模仿微信打飞机游戏
    补算法相关知识一:蚂蚁算法
    避免Cocos2d-x编写的游戏在用eclipse生成安卓包时繁琐的写Android.mk文件
    Cocos2d-x学习之---模仿微信打飞机游戏敌机层设计初想
    Cocos2d-x学习之---2013年10月11日小记
    有时候真怕,时间会说出真心话。
    NO2:设置RedHat Linux下的samba开机启动
    NO1:在Windows端安装SecureCRT来连接Linux
  • 原文地址:https://www.cnblogs.com/axzxs2001/p/16259671.html
Copyright © 2020-2023  润新知