C#写入app.config文件

时间:2010-11-24 16:24:09

标签: c# configuration

我理解如何获得句柄并写到:

<?xml version="1.0" encoding="utf-8" ?> 
<configuration> 
  <appSettings>  
    <add key="Param1" value="" />  
    <add key="Param2" value="" />  
    <add key="Param3" value="" />  
  </appSettings>  
</configuration> 

但是它的结构是什么时候呢?

<configuration>
    <userSettings>
        <MyEXEName.Properties.Settings>
            <setting name="some_setting" serializeAs="String>
                <value>some value</value>
            </setting>
        </MyEXEName.Properties.Settings>
    </userSettings>
</configuration>

3 个答案:

答案 0 :(得分:1)

然后你需要Application Settings

这是一个例子(取自MSDN):

public class MyUserSettings : ApplicationSettingsBase
{
    [UserScopedSetting()]
    [DefaultSettingValue("white")]
    public Color BackgroundColor
    {
        get
        {
            return ((Color)this["BackgroundColor"]);
        }
        set
        {
            this["BackgroundColor"] = (Color)value;
        }
    }
}

然后你可以像这样使用它:

MyUserSettings mus;

private void Form1_Load(object sender, EventArgs e)
{
    mus = new MyUserSettings();
    mus.BackgroundColor = Color.AliceBlue;
    this.DataBindings.Add(new Binding("BackColor", mus, "BackgroundColor"));
}

void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
    mus.Save();
}

我建议阅读MSDN上的整个部分,因为它提供了许多有用的信息。

答案 1 :(得分:0)

.Net Framework和Visual Studio非常友好,可以在应用程序命名空间中生成静态Properties类。您可以通过此类访问和设置用户设置。考虑到设置值保存在用户的漫游配置文件中,因此即使应用程序文件夹中的配置文件有一些设置,用户设置也会保存在%USERPROFILE%\AppData的某个位置。

根据提供的信息,您将访问该属性,如:

MyEXEName.Properties.Settings.some_setting = "new value";

答案 2 :(得分:0)

string someSetting = Settings.Default.some_setting;

此文件由VS自动生成,您可以在project-&gt; properties-&gt; Settings.settings中打开它。 当您执行应用程序注释时,此设置保存在应用程序用户文件夹%APPDATA%中(您可以搜索* .config,因为%APPDATA%中的文件夹具有随机名称。)