我目前正在使用“设置”表单为我的应用程序设置各种设置。我要做的是在打开和更改字段之前将设置恢复为用户所做的任何更改之前。我有一个文本框,其中包含绑定到设置的数据,当我进行更改并单击“确定”时,下次打开时会保存。当我点击取消时它也会被保存。不太确定我是否正确接近这个。
Public Class frmSettings
Private _mysettings As Configuration.SettingsBase
Private Sub frmSettings_Load(...) Handles Me.Load
_mysettings = My.Settings
End Sub
Private Sub btnCancel_Click(...) Handles btnCancel.Click
For Each p As Configuration.SettingsPropertyValue In _mysettings.PropertyValues
My.Settings(p.Name) = p.PropertyValue
Next
Me.Close()
End Sub
Private Sub btnOkay_Click(...) Handles btnOkay.Click
My.Settings.Save()
Me.Close()
End Sub
End Class
答案 0 :(得分:0)
您可以在加载设置表单时简单地加载设置值,而不是使用数据绑定控件。这样做很简单,而且很有效。否则你必须克隆My.Settings:执行_mysettings = My.Settings
只是创建一个指向My.Settings的指针,而不是它的副本。
例如,我有一个名为ChangeConnectionString的Form,其中包含OK / Cancel按钮和一个名为connString的TextBox控件:
Public Class ChangeConnectionString
Private Sub bnOK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bnOK.Click
My.Settings.connectionString = connString.Text
My.Settings.Save()
Me.Close()
End Sub
Private Sub bnCancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bnCancel.Click
Me.Close()
End Sub
Private Sub ChangeConnectionString_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
connString.Text = My.Settings.connectionString
End Sub
End Class