当前位置:  开发笔记 > 编程语言 > 正文

在Windows Forms C#应用程序中拥有配置文件的最简单方法

如何解决《在WindowsFormsC#应用程序中拥有配置文件的最简单方法》经验,为你挑选了6个好方法。

我是.NET的新手,我仍然没有了解配置文件的工作方式.

每次我在google上搜索它时都会得到关于web.config的结果,但我正在编写一个Windows窗体应用程序.

我发现我需要使用System.Configuration命名空间,但文档没有帮助.

如何定义我的配置文件是XYZ.xml?或者它是否具有配置文件的"默认"名称?我仍然没有得到那个.

另外,如何定义新的部分,我真的需要创建一个继承自ConfigurationSection的类吗?

我想要一个包含这样的值的配置文件:

1
C:\Some\Path\Here

有一个简单的方法吗?您能以简单的方式解释如何从/向简单的配置文件进行读写吗?



1> qui..:

您想使用App.Config.

向项目添加新项目时,会出现名为"应用程序配置文件"的内容.加上那个.

然后在配置/ appsettings部分添加密钥

喜欢:


 
  

通过这样做来访问成员

System.Configuration.ConfigurationSettings.AppSettings["MyKey"];

这适用于.net 2及以上版本.


注意`ConfigurationSettings`已经过时,请使用`System.Configuration.ConfigurationManager.AppSettings ["MyKey"];`.
还要注意,使用`System.Configuration.ConfigurationManager`您的项目需要对`System.Configuration.dll`的引用
我个人使用"应用程序属性"(仅限Framework 2.0)上的"设置"选项卡,因为Visual Studio将为您的设置代码生成强类型属性.它们还可以包括在运行时读/写的"用户"设置.
实际上它适用于所有版本的.NET,从v1.0开始..NET 2.0中的新类是ConfigurationManager.

2> ZombieSheep..:

澄清以前的答案......

1)向项目添加新文件(添加 - >新项目 - >应用程序配置文件)

2)新的配置文件将作为App.Config出现在解决方案资源管理器中.

3)使用以下模板将您的设置添加到此文件中


  
    
  
  
    
  

4)像这样检索它们:

private void Form1_Load(object sender, EventArgs e)
{
    string setting = ConfigurationManager.AppSettings["setting1"];
    string conn = ConfigurationManager.ConnectionStrings["prod"].ConnectionString;
}

5)构建时,输出文件夹将包含一个名为 .exe.config的文件.这将是App.Config文件的副本.开发人员不需要进一步的工作来创建此文件.



3> 小智..:

从快速阅读以前的答案,它们看起来是正确的,但它看起来并不像任何人提到VS 2008中的新配置工具.它仍然使用app.config(在编译时复制到YourAppName.exe.config),但有一个UI小部件来设置属性并指定它们的类型.双击项目"属性"文件夹中的Settings.settings.

最好的部分是从代码访问此属性是类型安全 - 编译器将捕获明显的错误,如错误输入属性名称.例如,app.config中名为MyConnectionString的属性将被访问为:

string s = Properties.Settings.Default.MyConnectionString;


很好,但它(项目属性|设置)生成必须编译的代码.如果要更改设置,则需要向客户发布新的二进制文件.

4> Nathan Koop..:

您应该创建一个App.config文件(非常类似于web.config)

您应该右键单击您的项目,添加新项目,新的"应用程序配置文件".

确保使用System.Configuration添加到项目中.

然后您可以为其添加值



  
    
  
  
    
  


    private void Form1_Load(object sender, EventArgs e)
    {
        string setting = ConfigurationManager.AppSettings["setting1"];
        string conn = ConfigurationManager.ConnectionStrings["prod"].ConnectionString;
    }

刚一说明,根据微软,你应该使用ConfigurationManager中,而不是ConfigurationSettings.(请参阅备注部分)"ConfigurationSettings类仅提供向后兼容性.对于新应用程序,您应该使用ConfigurationManager类或WebConfigurationManager类."



5> Mike Dimmick..:

配置文件的默认名称是[yourexe] .exe.config.因此,notepad.exe将在程序所在的文件夹中有一个名为notepad.exe.config的配置文件.这是CLR和Framework的所有方面的常规配置文件,但可以在节点下包含您自己的设置.

元素创建一组名称 - 值对,可以作为System.Configuration.ConfigurationSettings.AppSettings.但是,无法将更改保存回配置文件.

也可以将自己的自定义元素添加到配置文件中 - 例如,定义结构化设置 - 通过创建实现IConfigurationSectionHandler并将其添加到配置文件元素的类.然后,您可以通过致电访问它ConfigurationSettings.GetConfig.

.NET 2.0添加了一个新类,System.Configuration.ConfigurationManager它支持多个文件,每个用户覆盖每个系统数据.它还支持将修改后的配置保存回设置文件.

Visual Studio创建一个名为App.config的文件,在构建项目时,该文件将使用正确的名称复制到EXE文件夹.



6> TcKs..:

关于.NET应用程序配置的最佳(IMHO)文章是关于CodeProject 解开.NET 2.0配置的奥秘.我下一篇关于.net配置文件中的部分的最喜欢(较短)文章是了解部分处理程序 - App.config文件.

推荐阅读
路人甲
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有