Vb.net My.Settings不保存变量
我有以下代码:Vb.net My.Settings不保存变量,vb.net,visual-studio-2012,Vb.net,Visual Studio 2012,我有以下代码: Imports System.IO Public Class Form2 Dim strInitialDirectory As String Dim strInitialFile As String Const strDefaultFileDirectory As String = "C:\Users\Sam\Desktop\Visual Basic\Test" Const strDefaultFileName As String = "\test.txt" Dim strF
Imports System.IO
Public Class Form2
Dim strInitialDirectory As String
Dim strInitialFile As String
Const strDefaultFileDirectory As String = "C:\Users\Sam\Desktop\Visual Basic\Test"
Const strDefaultFileName As String = "\test.txt"
Dim strFileJPath1 As String = strInitialDirectory + strInitialFile
Dim strFileJPath2 As String = strDefaultFileDirectory + strDefaultFileName
Private Sub Form2_Load(sender As Object, e As EventArgs) Handles MyBase.Load
If My.Settings.strInitialDirectory = Nothing Or My.Settings.strInitialFile = Nothing Then
My.Settings.strInitialDirectory = strDefaultFileDirectory
My.Settings.strInitialFile = strDefaultFileName
Else
MsgBox("Else executed") ' debug
strInitialDirectory = strDefaultFileDirectory
strInitialFile = strDefaultFileName
strInitialDirectory = My.Settings.strInitialDirectory
strInitialFile = My.Settings.strInitialFile
End If
End Sub
End Class
基本上,当窗体加载时,我希望它检查我的.Settings中是否有任何内容,如果没有,则将值设置为默认值,但是在再次打开程序时,它不会执行else语句,让我相信我做错了什么,设置没有保存。有什么意见吗?谢谢。您必须在My.Settings中调用保存功能
My.Settings.Save()
您应该在更新设置功能的末尾添加此项。这将保存下一个会话的所有设置
下面是UpdateSettings函数的一个示例:
Private子更新设置()
Console.WriteLine(“保存设置”)
My.Settings.WO_improvu=checkboximprovu.Checked
My.Settings.WO_prevu=CheckBoxPrevu.Checked
My.Settings.Date\u type=ComboBoxDateType.SelectedIndex
My.Settings.Date\u首秀=DateTimePickerDebut.Value
My.Settings.Save()
Console.WriteLine(“已保存设置”)
端接头
尝试使用String.IsNullOrWhiteSpace()
而不是=Nothing
将您的sub更改为:
Private Sub Form2_Load(sender As Object, e As EventArgs) Handles MyBase.Load
If String.IsNullOrWhiteSpace(My.Settings.strInitialDirectory) OrElse String.IsNullOrWhiteSpace(My.Settings.strInitialFile) Then
My.Settings.strInitialDirectory = strDefaultFileDirectory
My.Settings.strInitialFile = strDefaultFileName
Else
MsgBox("Else executed") ' debug
strInitialDirectory = strDefaultFileDirectory
strInitialFile = strDefaultFileName
strInitialDirectory = My.Settings.strInitialDirectory
strInitialFile = My.Settings.strInitialFile
End If
End Sub
在加载事件结束时,添加My.Settings。Save@dbasnett德普,谢谢。