2

我希望能够相互独立地控制多组设置。我最初使用的是 My.Settings,但是手动回滚某些设置同时保存其他设置的工作量太大。

我认为我的解决方案是使用多个设置文件,并且我曾经有过这似乎可行的时刻,但我所取得的任何成功都是周期性和暂时的。

目前我在项目的根目录中有两个设置文件;在代码中,我可以正常访问设置,但在许多情况下,我想将单个设置绑定到控件。这应该是直截了当的,我记得当我使用单个内置设置文件时它可以工作。

但是,当我使用两个新的设置文件时,它不起作用。在Formatting & Advanced Binding对话框中,我选择Add New Project Data Source,浏览到我的项目,然后进入根命名空间,然后我看到我的表单/类/设置文件。当我选择这两个设置文件并单击“确定”时,对话框将被关闭,而我无法选择将控件绑定到的单个设置。

当我启用Project > Show All Files时,我可以看到绑定已经创建;我在My Project > Datasources下有两个.datasource文件。

有什么原因我不能绑定到这些设置文件吗?如果不是,为什么我不能通过数据绑定对话框访问它们?

计划 B 是创建一个对象以充当控件和设置文件之间的中介,但如果可以的话,我宁愿避免这样做。

4

1 回答 1

2

我对设置文件或自定义设置文件的数据绑定没有问题,我添加了一个名为“其他”的属性:

Public Sub New()
  InitializeComponent()

  TextBox1.DataBindings.Add("Text", My.Settings, "Test")
  TextBox2.DataBindings.Add("Text", custom.Default, "other")
End Sub

我发现自定义设置文件的唯一“障碍”是它不会像默认设置My.Settings那样自动写入设置文件。我将此添加到我的表单中:

Protected Overrides Sub OnFormClosing(ByVal e As FormClosingEventArgs)
  custom.Default.Save()

  MyBase.OnFormClosing(e)
End Sub

然后设置仍然存在。

于 2012-05-09T13:45:42.527 回答