ユーザーが出力ディレクトリを定義する必要があるアプリケーションに取り組んでいます。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 ファイルを使用しましたか? このトピックについてあなたの意見を聞く必要があります