如何 Save/Recall Folderbrowserdialog SelectedPath
How To Save/Recall Folderbrowserdialog SelectedPath
我目前正在自学(在 SO & Google 的帮助下)VB.Net 为多人游戏创建一个启动器 mod 我需要用户在我的第一次启动时应用程序输入他们的文件夹的存储位置,到目前为止我有;
Dim folderDlg As System.Windows.Forms.FolderBrowserDialog
folderDlg = New System.Windows.Forms.FolderBrowserDialog
folderDlg.Description = "Please select your multiplayer folder"
If My.Settings.isFirstRun Then
My.Settings.isFirstRun = False
My.Settings.Save()
folderDlg.ShowDialog()
Else
End If
运行 mod 本身的按钮
Private Sub Launch_mp_Click(sender As Object, e As EventArgs) Handles Launch_mp.Click
If My.Computer.FileSystem.FileExists("launcher.exe") Then
Process.Start("launcher.exe")
Timer2.Interval = 1000
Timer2.Start()
End If
End Sub
Private Sub Timer2_Tick(sender As Object, e As EventArgs) Handles Timer2.Tick
p = Process.GetProcessesByName("eurotrucks2")
If p.Count > 0 Then
Timer2.Stop()
Me.WindowState = FormWindowState.Minimized
Me.Visible = True
Else
End If
End Sub
我很困惑如何存储用户选择的路径,然后在以后为按钮调用它而不总是询问目录。
你快到了:
您有多种存储信息的选项:注册表、使用 ini 文件的旧式或在应用程序的配置文件中。我建议使用配置文件,因为您已经将 isFirstRun-varialbe 存储在配置中。在 project explrorer 中查看 "My Project" 文件夹并双击名为 "Settings" 的项目。添加名为 "ModFolder" 的字符串类型设置。之后,您将能够使用 My.Settings.ModFolder varialbe(参见 here)访问该设置的值。
使用 FolderBrowserDialog 存储文件夹(参见 here)
if folderDlg.ShowDialog() = DialogResult.Ok then
My.Settings.ModFoler = folderDlg.SelectedPath
My.Settings.Save
end if
当您的应用程序下次启动时,ModFolder 变量将自动保存存储的值,而不是 If My.Settings.isFirstRun Then
我会检查:
If File.Exists(Path.Combine(My.Settings.ModFolder, "AppToStart.Exe")) then
...
end if
如果文件存在则启动它,如果不存在则重新显示选择文件夹的对话框。
我目前正在自学(在 SO & Google 的帮助下)VB.Net 为多人游戏创建一个启动器 mod 我需要用户在我的第一次启动时应用程序输入他们的文件夹的存储位置,到目前为止我有;
Dim folderDlg As System.Windows.Forms.FolderBrowserDialog
folderDlg = New System.Windows.Forms.FolderBrowserDialog
folderDlg.Description = "Please select your multiplayer folder"
If My.Settings.isFirstRun Then
My.Settings.isFirstRun = False
My.Settings.Save()
folderDlg.ShowDialog()
Else
End If
运行 mod 本身的按钮
Private Sub Launch_mp_Click(sender As Object, e As EventArgs) Handles Launch_mp.Click
If My.Computer.FileSystem.FileExists("launcher.exe") Then
Process.Start("launcher.exe")
Timer2.Interval = 1000
Timer2.Start()
End If
End Sub
Private Sub Timer2_Tick(sender As Object, e As EventArgs) Handles Timer2.Tick
p = Process.GetProcessesByName("eurotrucks2")
If p.Count > 0 Then
Timer2.Stop()
Me.WindowState = FormWindowState.Minimized
Me.Visible = True
Else
End If
End Sub
我很困惑如何存储用户选择的路径,然后在以后为按钮调用它而不总是询问目录。
你快到了:
您有多种存储信息的选项:注册表、使用 ini 文件的旧式或在应用程序的配置文件中。我建议使用配置文件,因为您已经将 isFirstRun-varialbe 存储在配置中。在 project explrorer 中查看 "My Project" 文件夹并双击名为 "Settings" 的项目。添加名为 "ModFolder" 的字符串类型设置。之后,您将能够使用 My.Settings.ModFolder varialbe(参见 here)访问该设置的值。
使用 FolderBrowserDialog 存储文件夹(参见 here)
if folderDlg.ShowDialog() = DialogResult.Ok then
My.Settings.ModFoler = folderDlg.SelectedPath
My.Settings.Save
end if
当您的应用程序下次启动时,ModFolder 变量将自动保存存储的值,而不是 If My.Settings.isFirstRun Then
我会检查:
If File.Exists(Path.Combine(My.Settings.ModFolder, "AppToStart.Exe")) then
...
end if
如果文件存在则启动它,如果不存在则重新显示选择文件夹的对话框。