C# 应用程序在加载时读取错误的设置

本文关键字:取错误 设置 读取 应用程序 加载 | 更新日期: 2023-09-27 18:37:02

我有这个评分器简单的应用程序,我在其中使用设置。为此,我创建了自己的属性设置文件。目前为止,一切都好。这一切都很好。设置就在那里,我可以使用它们。

我正在尝试能够在运行时更改这些设置。从外观上看,这也很好用。查看运行应用程序的用户下的应用程序user.config,正在保存设置。但是,下次我加载应用程序时,它似乎忽略了保存的设置并使用默认设置。我可以再次更改设置并保存它们,结果相同。user.config正在更新,但旧的默认设置始终是在加载时显示一次。

我将设置加载到列表视图中。从那里更改值,然后循环浏览列表视图,再次保存设置。

这是我在列表视图中加载设置的地方:(Properties.Main是我创建的设置)

private void Settings_Load(object sender, EventArgs e)
{
    Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.PerUserRoamingAndLocal);
    textBox1.Text = config.FilePath;
    foreach (SettingsProperty Setting in Properties.Main.Default.Properties)
    {
        ListViewItem settingitem = new ListViewItem();
        settingitem.Text = Setting.Name.ToString();
        settingitem.SubItems.Add(Setting.DefaultValue.ToString());
        listView1.Items.Add(settingitem);
    }
    listView1.AutoResizeColumns(ColumnHeaderAutoResizeStyle.ColumnContent);
}

这是我保存设置的地方。

private void button1_Click(object sender, EventArgs e)
{
    try
    {
        foreach (ListViewItem setting in listView1.Items)
        {
            Properties.Main.Default[setting.Text] = setting.SubItems[1].Text; ;
            Properties.Main.Default.Save();
        }
    }
    catch (Exception exp)
    {
        MessageBox.Show(exp.Message);
    }
}

据我所知,设置正在按预期保存在user.config文件中,但不是下次加载的设置。

我的印象是,我需要做一些事情,以便应用程序不会每次都加载默认设置。

有什么想法吗?

C# 应用程序在加载时读取错误的设置

你试过 ConfigurationManager.RefreshSection 吗