我正在研究VB.NET 4.0的WinForm应用程序
我将MySetting属性绑定到TextBox,它运行正常,直到我更改TextBox中的值;即使我在阅读之前重新加载,程序也会继续读取旧值。
我记得不需要更新保存或重新加载,因为我创建了另一个WinForm应用程序并且值是更新而不需要我添加任何代码。
在我更改TextBox中的值后,在MySetting中更新值?当TextBox失去焦点时?
答案 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()