2010-07-30 40 views

回答

11

我将解释如何在Visual Studio 2010的窗体上执行此操作。它在新版本中可能类似。

  1. 单击组件绑定(文本框,复选框,...)
  2. 制作组件的属性面板可见
  3. 展开节点ApplicationSettings
  4. 点击...按钮的(PropertyBinding)

    Get application settings for component

  5. 选择whi ch设置你想要绑定的控件。

有一个在Exploring Secrets of Persistent Application Settings

+1

如何保存,我发现如果我重新打开文本框并关闭我的应用程序时,旧值仍然存在? – Zapnologica 2016-01-27 09:10:42

+1

我测试过使用停止调试按钮关闭应用程序,用户设置不会保存。您应该正确关闭应用程序(红色十字按钮)。 – 2016-01-27 09:54:35

+0

是否有任何代码可以手动调用来保持设置?例如在文本更改监听器?或每10秒? – Zapnologica 2016-01-27 13:16:11

1

嗯,这取决于。

首先,我不确定您是否在说WPF或Windows窗体,所以我都不会假设。

其次,你不是“约束”任何东西。您正在取Name的值,并将属性Text设置为等于此值。你正在设置一个属性。这不会带来任何不可避免的将Name财产与Text财产链接在一起的魔法副作用。第三,您可以更改设置,但在保存它们之前,它们不会写回您的app.config。在Windows窗体应用程序,你必须做这样的事情:

​​

在WPF中,你会使用正常的绑定语义(这意味着你避免将所有属性值的麻烦时闭馆) ,但您仍然需要关闭表单以便您可以保存()设置。

绑定:

<TextBox 
    xmlns:lol="clr-namespace:MyApplication.Settings" 
    Text="{Binding Name, Source={x:Static lol:Default}}" /> 

的保存()调用发生多与表格的例子,但你没有做的比调用保存()以外的任何其他。

+0

更详细的教程这里有一个误解。我*不*写“textBox.Text = Settings.Default.Name;”感谢绑定(请参阅链接)。 我知道如果我想将更改保存到设置文件中,我必须专门调用“Settings.Default.Save();”。 – user276648 2010-08-20 05:51:04