我正在开发一个用户应该定义输出目录的应用程序。在阅读了很多关于app.config和ini的内容(这里说不推荐并且 .NET 没有任何类或命名空间来读取它们)和txt(有点乏味)之后,我决定去 app.config。所以我写了这段代码:
// Here I save to app.config file
private void button1_Click(object sender, EventArgs e)
{
if (textBox2.Text != "")
{
oConfig.AppSettings.Settings.Add("directorio_bases", textBox2.Text);
oConfig.Save(ConfigurationSaveMode.Modified);
ConfigurationManager.RefreshSection("appSettings");
textBox1.Text = ConfigurationManager.AppSettings["directorio_bases"];
}
else
{
MessageBox.Show("Debes seleccionar una ruta donde guardar las bases generadas", "Error",
MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
// Here I read from app.config file just for informative purpose only
private void ConfigurationUserControl_Load(object sender, EventArgs e)
{
textBox1.Text = ConfigurationManager.AppSettings["directorio_bases"];
}
// Here is where I get the path to the folder
private void button2_Click(object sender, EventArgs e)
{
if (folderBrowserDialog1.ShowDialog() == DialogResult.OK)
{
textBox2.Text = folderBrowserDialog1.SelectedPath;
}
}
并且代码在程序执行期间工作正常,但是当我关闭/打开程序值时会丢失。所以我的问题是:
- 我做错了什么?我的意思是为什么价值观不保持?
- 你的是否使用了 app.config、config.ini 或 config.txt 文件?我需要听取你对这个话题的意见