这是贴配置文件
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
<section name="ConfigTest.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
</sectionGroup>
</configSections>
<userSettings>
<ConfigTest.Properties.Settings>
<setting name="newDistance" serializeAs="String">
<value>148</value>
</setting>
</ConfigTest.Properties.Settings>
</userSettings>
</configuration>
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
<section name="ConfigTest.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
</sectionGroup>
</configSections>
<userSettings>
<ConfigTest.Properties.Settings>
<setting name="newDistance" serializeAs="String">
<value>148</value>
</setting>
</ConfigTest.Properties.Settings>
</userSettings>
</configuration>
在关闭窗口时把更改的信息储存在CONFIG文件中.
protected override void OnLoad(EventArgs e)
{ Configuration config;
base.OnLoad(e);
ExeConfigurationFileMap filemap = new ExeConfigurationFileMap();
string FileName;
string Path = Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData);//get the Path of the Config data
FileName = Path + @"\" +Application.ProductName +@"\ConfigTab.config"; // define the Config data with "Projectname".config
filemap.ExeConfigFilename = FileName; // call the config data
config = ConfigurationManager.OpenMappedExeConfiguration(filemap, ConfigurationUserLevel.None);
try // try to do open the configdata and return a config object
{
config = ConfigurationManager.OpenMappedExeConfiguration(filemap, ConfigurationUserLevel.None);
}
catch
{
MessageBox.Show("Fehler");
}
KeyValueConfigurationElement mainFormW = config.AppSettings.Settings["MainFormW"];//call the key
if (mainFormW == null) // if don't find, add the key and value.
{
mainFormW = new KeyValueConfigurationElement("mainFormW", this.splitContainer1.SplitterDistance.ToString());
config.AppSettings.Settings.Add(mainFormW);
}
else
{
this.splitContainer1.SplitterDistance = Convert.ToInt32(mainFormW.Value);
}
}
// save the configdata before closing
protected override void OnFormClosing( FormClosingEventArgs e)
{
base.OnFormClosing(e);
string fileName = Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData) + @"\" + Application.ProductName + @"\configtab.config";
ExeConfigurationFileMap filemap = new ExeConfigurationFileMap();
filemap.ExeConfigFilename = fileName;
Configuration config = ConfigurationManager.OpenMappedExeConfiguration(filemap, ConfigurationUserLevel.None);
KeyValueConfigurationElement mainformw = config.AppSettings.Settings["MainFormW"];
mainformw.Value = this.splitContainer1.SplitterDistance.ToString();
config.Save();
}
}
不过上边的提示消息仍然有.