我有一个程序,我想将信息存储在一个字符串中。我一直在使用Properties.Setting.Default.STRINGname
存储信息,这在我的电脑上工作正常,我可以看到保存的字符串(当我转到应用程序中的设置时)。但是,当我将应用程序带到新PC时,它会丢失字符串。有没有办法能够编辑此信息并将其保存在应用程序中?所以基本上我需要能够将用户设置转换为应用程序设置,但是在运行时之后。
var settings = Properties.Settings.Default;
settings.H1 = textbox1.text;
settings.H2 = textbox2.text;
settings.Save();
答案 0 :(得分:3)
MSDN explicit says关于此事:
应用程序范围的设置只读,只能在设计时更改或更改{{1应用程序会话之间的文件。 用户范围的设置,但可以在运行时写入,就像更改任何属性值一样。新值在应用程序会话期间保持不变。您可以通过调用Save方法将更改保留在应用程序会话之间。
为此,应用程序设置将永远不适合您。但是,如果您使用的是用户范围设置,它确实有效,但很快您将应用程序从一台计算机更改为另一台计算机(如您所愿),您将丢失设置,因为它是另一台计算机(另一个用户范围)。
有办法继续拥有相同的设置,你可以做到,至少有两件事:
.config
文件保存设置(它是XML文件)你不能做的是
答案 1 :(得分:0)
用户设置的编译方式与应用程序设置不同,因此在编译后无法转换。为什么不用应用程序设置进行编译?
答案 2 :(得分:0)
您使用的代码应保存用户设置。记住,用户设置将保存在用户的数据文件夹中。不在安装应用程序的配置文件中(比如程序文件)。这是通常的路径:
<Profile Directory>\<Company Name>\<App Name>_<Evidence Type>_<Evidence Hash>\<Version>\user.config