C# 软件配置保存-app.config
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.2" />
</startup>
</configuration>
添加后:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.2" />
</startup>
<appSettings>
<add key="SystemSettingPageAcraneIMUPort" value="0"/>
<add key="SystemSettingPageLoadIMUPort" value="1"/>
<add key="SystemSettingPageRTKPort" value="2"/>
<add key="SystemSettingPageTensionPort" value="3"/>
<add key="SystemSettingPageTensionAlarm" value="10"/>
<add key="SystemSettingPagePositionAlarm" value="1"/>
</appSettings>
</configuration>
读:
private void LoadAppConfig()
{
textBoxTensionAlarm.Text = ConfigurationManager.AppSettings["SystemSettingPageTensionAlarm"];
textBoxPositionAlarm.Text = ConfigurationManager.AppSettings["SystemSettingPagePositionAlarm"];
}
点击保存后更改或添加(没有的话就添加):
private void buttonAlarmValueSave_Click(object sender, EventArgs e)
{
AddUpdateAppSettings("SystemSettingPageTensionAlarm", textBoxTensionAlarm.Text);
AddUpdateAppSettings("SystemSettingPagePositionAlarm", textBoxPositionAlarm.Text);
}
private void AddUpdateAppSettings(string key, string value)
{
try
{
var configFile = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
var settings = configFile.AppSettings.Settings;
if (settings[key] == null)
{
settings.Add(key, value);
}
else
{
settings[key].Value = value;
}
configFile.Save(ConfigurationSaveMode.Modified);
ConfigurationManager.RefreshSection(configFile.AppSettings.SectionInformation.Name);
}
catch (ConfigurationErrorsException)
{
Console.WriteLine("Error writing app settings");
}
}
note:注意!!!实际保存的时候并不会更改app.config文件,但是实际上已经保存。这里对此问题暂时不做深究。