Textbox.text绑定到MySettings无法正常工作

时间:2015-06-18 19:51:58

标签: .net vb.net winforms

我正在研究VB.NET 4.0的WinForm应用程序

我将MySetting属性绑定到TextBox,它运行正常,直到我更改TextBox中的值;即使我在阅读之前重新加载,程序也会继续读取旧值。

我记得不需要更新保存或重新加载,因为我创建了另一个WinForm应用程序并且值是更新而不需要我添加任何代码。

在我更改TextBox中的值后,在MySetting中更新值?当TextBox失去焦点时?

2 个答案:

答案 0 :(得分:1)

I have a property called ApplicationSetting --> PropertyBinding. So I Bind the Text property to a MySetting variable.

Application范围设置是ReadOnly,因此VB不会从控件更新Settings中的值,因此它们永远不会更新。您可以在设计器代码中看到它们的处理方式:

Public ReadOnly Property AppFoo() As String
    Get
        Return CType(Me("AppFoo"), String)
    End Get
End Property

User范围设置进行比较:

Public Property UserFoo() As String
    Get
        Return CType(Me("UserFoo"), String)
    End Get
    Set(value As String)
        Me("UserFoo") = value
    End Set
End Property

将设置更改为用户范围,以便可以更新。绑定到用户设置只需要一行代码,并允许VB App Framework自动更新和保存。

' in form load:
TextBox1.DataBindings.Add("Text", My.Settings, "UserFoo")

以这种方式绑定,对文本框的更改将更新My.Settings中的相关值,VB App Framework将在应用程序正常退出时保存它们。

答案 1 :(得分:0)

My.settings.Save()

这会保存您设置的所有设置。 例如。

My.Settings.txbVal = txbName.text
My.Settings.Save()