此站点上的代码提供了另一个提供程序来处理应用程序设置。可以对文件的目标目的地进行编码.settings
。
我添加了一个CopyFile
例程,将生成的.setting
文件复制到同一目录,但名称不同,由用户指定。编码:
If SaveFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
Dim savefile As String
savefile = SaveFileDialog1.FileName
Try
My.Computer.FileSystem.CopyFile(My.Application.Info.Title & ".settings", savefile, True)
Catch ex As Exception
MsgBox(ex.Message)
End Try
Else
'Nothing
End If
现在再次加载用户保存的设置,我制作了加载例程,它将所选文件复制到根文件夹并覆盖“Form1.settings”
If OpenFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
Dim loadfile As String
loadfile = OpenFileDialog1.FileName
Try
My.Computer.FileSystem.CopyFile(loadfile, My.Application.Info.Title & ".settings", True)
Catch ex As Exception
MsgBox(ex.Message)
End Try
Application.Restart()
Else
'Nothing
End If
该例程执行Application.Restart()
这样的操作,即执行 Form1_load 事件并且控件复制.settings
文件中的值
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
TextBox1.Text = My.Settings.Text1
End Sub
现在,当用户单击保存时,将My.Settings.Save()
执行并将Form1.settings
文件复制到用户指定的.settings
文件中。
当用户单击加载时,用户指定的.settings
文件被覆盖Form1.settings
并且应用程序重新启动,从文件中读取值Form1.settings
。