1. ConfigurationManager的命名空间:using System.Configuration;
2. To be able to save you have to use a configuration object
returned by the OpenExeConfiguration Method
//Create the object
Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);//make changes
config.AppSettings.Settings["Username"].Value = txtUsername.Text;
config.AppSettings.Settings["Password"].Value = txtPassword.Text;//save to apply changes
config.Save(ConfigurationSaveMode.Modified);
ConfigurationManager.RefreshSection("appSettings");
3. When you run your application with F5,
- your code is compiled,
- the executable is copied to
thebin
orbin\Debug
subdirectory
of your source code directory, - your
app.config
is copied
asyourexecutable.exe.config
into that directory,
and - your executable is started in that directory.
Thus, your application uses
the yourexecutable.exe.config
in
the bin
or bin\Debug
directory,
and it
is there that ConfigurationManager
saves
the changes, not in your source code directory. This won‘t be an issue after
deploying your application, because then, changes will go
to yourexecutable.exe.config
in the deployment directory,
which is what you want.