如何保存/调用Folderbrowserdialog SelectedPath

时间:2015-11-26 05:18:53

标签: vb.net folderbrowserdialog

我正在教自己(在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

我很困惑如何存储用户选择的路径,然后稍后再调用该按钮而不总是要求dir。

1 个答案:

答案 0 :(得分:1)

你快到了:

您可以通过各种方式存储信息:注册表,使用ini文件的旧式或应用程序的配置文件。我建议使用配置文件,因为你已经在配置中存储了isFirstRun-varialbe。在项目浏览器中查看“我的项目”文件夹,然后双击名为“设置”的项目。添加名为“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

如果文件存在则启动它,如果没有重新显示该对话框则选择该文件夹。