【问题标题】:How do I store settings in an external file for a Windows Forms application?如何将设置存储在 Windows 窗体应用程序的外部文件中?
【发布时间】:2025-11-23 01:50:01
【问题描述】:

我想将一些设置存储在某种外部文件中,以便有人可以更改设置而无需重新编译应用程序:

Server: test
Username: abc
Password: 123

Server: dev
Username: abc
Password: def

Server: live
Username: g5g5g5
Password :a4a4a4

我知道我可以将它们放在<appSettings> 下的app.config 中,但这样做的问题是数据需要“分组”在一起,而<appSettings> 仅支持普通键/值对。

我可以将它作为 JSON 放入外部文件中,但这将涉及编写 JSON 解析器或下载一个解析器,这对于该应用程序的用例来说不是很理想。

还有哪些其他方法可以存储这些信息?最好使用 .NET 框架中已经内置的任何内容,并且对于新开发人员来说易于实施和理解。

【问题讨论】:

    标签: winforms file configuration settings


    【解决方案1】:

    您可以使用自定义设置创建课程

    例如

    public class MySetting
    {
        public string Server { get; set; }
        public string Username { get; set; }
        public string Password { get; set; }
    }
    
    public class MySettings
    {
        public List<MySetting> Settings { get; set; }
    }
    

    并使用 BinarySerializer、XmlSerializer、DataContractSerializer 或您选择的其他序列化程序将它们保存/加载到文件中。

    由于您想使用文本编辑器进行编辑,DataContractSerialzier 将是一个不错的选择。

    这是一个来自 MSDN 的示例,展示了如何序列化到文件

    http://msdn.microsoft.com/en-us/library/bb675198.aspx

    【讨论】:

      最近更新 更多