在 .NET 5.0、6.0 上向 Windows Forms (WinForms)添加 appsettings.json 配置
2022-03-10 15:56 音乐让我说 阅读(901) 评论(0) 编辑 收藏 举报在 Windows 窗体中使用 .NET 5、.NET 6 或 .NET Core 配置系统
您可以按照以下步骤操作:
-
创建 WinForms .NET (5) 应用程序
-
安装
Microsoft.Extensions.Hosting
包。而不是您可能想要安装的托管包
Microsoft.Extensions.Configuration.Json
,Microsoft.Extensions.Configuration.Binder
这对于本示例来说已经足够了。 -
将 appsettings.json 文件添加到项目根目录,将其构建操作设置为 Content 并将 Copy to output directory 设置为 Always。
-
修改程序类:
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;
-
设置文件内容:
{ "MySettings": { "Text": "Title of the form", "BackColor": "255,0,0", "Size": "300,200" } }
-
要读取设置,请打开 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; }
-
运行应用程序并查看结果:
使用 Windows 窗体的经典设置
并回答您的最后一个问题:你们如何将 Windows 窗体应用程序上的设置从 4.8 迁移到 .NET 5.0?
看起来您熟悉 .NET 4.x 中的应用程序/用户设置。.NET 5 仍然支持相同的功能。Settings.settings
文件是默认项目模板的一部分,它允许您创建具有设计器支持和更多功能的用户设置和应用程序设置。您可以查看Windows 窗体的应用程序设置。
作者:音乐让我说(音乐让我说 - 博客园)
出处:http://music.cnblogs.com/
文章版权归本人所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
2012-03-10 我的编程生涯的入门语言 - C语言之学员成绩管理
2011-03-10 数据库打开程序.bat
2011-03-10 一个简单的递归面试题