2

我有一个程序,我想将信息存储在一个字符串中。我一直在使用Properties.Setting.Default.STRINGname来存储信息,这在我的 PC 上运行良好,并且我可以看到保存的字符串(当我转到应用程序中的设置时)。但是,当我将应用程序带到新 PC 上时,它会丢失字符串。有没有办法可以编辑此信息并将其保存在应用程序中?所以基本上我需要能够将用户设置转换为应用程序设置,但在运行时之后。

var settings = Properties.Settings.Default;
        settings.H1 = textbox1.text;
        settings.H2 = textbox2.text;

        settings.Save();
4

3 回答 3

5

MSDN 明确说明了这一点:

应用程序范围的设置是只读的只能在设计时或通过.config在应用程序会话之间更改文件来更改。但是,用户范围的设置可以在运行时编写,就像您更改任何属性值一样。新值在应用程序会话期间持续存在。您可以通过调用 Save 方法在应用程序会话之间保留对设置的更改。

为此,应用程序设置将永远不会为您工作。但是,如果您使用的是用户范围的设置,它确实可以工作,但很快您将应用程序从一台计算机更改为另一台计算机(如您所说),您将失去设置,因为那是另一台计算机(另一个用户范围)。 .

有办法继续拥有相同的设置,你可以做,至少 2 件事:

  • 使用.config文件保存设置(它是一个 XML 文件)
  • 使用服务来托管设置,如果用户可以访问互联网,您可以阅读

你不能做的是

  • 仅使用一个可执行文件,将设置从计算机保存到计算机。
于 2012-04-24T19:50:02.330 回答
0

The code you are using should save the user settings. Rememeber that user settings will be saved in the user's data folder. Not in the configuration file where the app was installed (say program files). This is the usual path:

<Profile Directory>\<Company Name>\<App Name>_<Evidence Type>_<Evidence Hash>\<Version>\user.config

See this links form more information

于 2012-04-24T19:32:36.450 回答
0

用户设置的编译方式与应用程序设置不同,因此编译后无法转换。为什么不使用应用程序设置进行编译?

于 2012-04-24T19:28:14.820 回答