代码改变世界

在 .NET 5.0、6.0 上向 Windows Forms (WinForms)添加 appsettings.json 配置

2022-03-10 15:56  音乐让我说  阅读(734)  评论(0编辑  收藏  举报

在 Windows 窗体中使用 .NET 5、.NET 6 或 .NET Core 配置系统

您可以按照以下步骤操作:

  1. 创建 WinForms .NET (5) 应用程序

  2. 安装Microsoft.Extensions.Hosting包。

    而不是您可能想要安装的托管包Microsoft.Extensions.Configuration.JsonMicrosoft.Extensions.Configuration.Binder这对于本示例来说已经足够了。

  3. 将 appsettings.json 文件添加到项目根目录,将其构建操作设置为 Content 并将 Copy to output directory 设置为 Always。

  4. 修改程序类:

    static class Program
    {
        public static IConfiguration Configuration;
        static void Main(string[] args)
        {
            //To register all default providers:
            //var host = Host.CreateDefaultBuilder(args).Build();
             var builder = new ConfigurationBuilder()
                .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true);
            Configuration = builder.Build();
             Application.SetHighDpiMode(HighDpiMode.SystemAware);
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new Form1());
        }
    }

     

    确保您已添加using Microsoft.Extensions.Configuration;

  5. 设置文件内容:

    {
      "MySettings": {
        "Text": "Title of the form",
        "BackColor": "255,0,0",
        "Size": "300,200"
      }
    }

     

  6. 要读取设置,请打开 Form1.cs 并粘贴以下代码:

    public class MySettings
    {
        public string Text { get; set; }
        public Color BackColor { get; set; }
        public Size Size { get; set; }
     }
    protected override void OnLoad(EventArgs e)
    {
        base.OnLoad(e);
        var mySettings = Program.Configuration.GetSection("MySettings").Get<MySettings>();
        this.Text = mySettings.Text;
        this.BackColor = mySettings.BackColor;
        this.Size = mySettings.Size;
    }

     

  7. 运行应用程序并查看结果:

     

使用 Windows 窗体的经典设置

并回答您的最后一个问题:你们如何将 Windows 窗体应用程序上的设置从 4.8 迁移到 .NET 5.0?

看起来您熟悉 .NET 4.x 中的应用程序/用户设置。.NET 5 仍然支持相同的功能。Settings.settings文件是默认项目模板的一部分,它允许您创建具有设计器支持和更多功能的用户设置和应用程序设置。您可以查看Windows 窗体的应用程序设置