设置未保存在Settins.settings中

时间:2017-03-18 11:56:53

标签: c# settings

我使用Settings.Settings在运行时存储设置。我的早期应用程序存储数据非常有用。但在我目前的项目中,它没有保存设置数据。我的应用程序有一些选项卡,每个选项卡包含一些TextBox。我使用textBox Text来存储字符串值。

Properties.Settings.Default.Setting1 = textBox2.Text;
Properties.Settings.Default.Save();

这是我之前所有应用程序的一种工作方法。但我无法理解为什么它不适用于我当前的项目。

1 个答案:

答案 0 :(得分:0)

由于你的问题没有包含很多细节,我试图尽可能多地回答:

尝试执行Properties.Settings.Default.Upgrade(),然后加载已保存的设置。 您必须调用ApplicationSettingsBase派生类的Upgrade方法(通常称为“设置”并由Visual Studio为您创建)

Properties.Settings.Default.Upgrade();

何时/何地调用Upgrade方法?您可以应用一个简单的技巧:将名为UpgradeRequired(示例)的用户设置定义为bool(最简单的方法是通过IDE)。确保其默认值为true

在应用程序开头插入此代码:

  if (Properties.Settings.Default.UpgradeRequired)
  {
      Properties.Settings.Default.Upgrade();
      Properties.Settings.Default.UpgradeRequired = false;
      Properties.Settings.Default.Save();
  }

因此只有在版本更改后才会调用Upgrade方法,并且只有一次(因为您通过设置UpgradeRequired = false来禁用进一步升级,直到版本更改 - 当属性重新获得默认值true时)。

检查设置范围[USER / APPLICATION] 试试这个,如果它不起作用,请检查以下条件。

此外,下次更详细的问题将非常感谢。

权限(NTFS权限)

或Active Directory权限

或者Windows驱动器的容量已满。

或者存在两个或更多用户文件夹,您检查了另一个。

例如:有两个或三个文件夹,user.domain,user.workgroupname,user。

尽管如此,我建议您了解System.Reflection并开发个性化方法来保存设置,Visual Studio提供的选项不是很可靠。

希望这有用。