我使用Settings.Settings在运行时存储设置。我的早期应用程序存储数据非常有用。但在我目前的项目中,它没有保存设置数据。我的应用程序有一些选项卡,每个选项卡包含一些TextBox。我使用textBox Text来存储字符串值。
Properties.Settings.Default.Setting1 = textBox2.Text;
Properties.Settings.Default.Save();
这是我之前所有应用程序的一种工作方法。但我无法理解为什么它不适用于我当前的项目。
答案 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提供的选项不是很可靠。
希望这有用。