web-dev-qa-db-fra.com

Comment spécifier un chemin en utilisant la boîte de dialogue Ouvrir un fichier dans vb.net?

Lors du premier démarrage de mon application, je dois spécifier un chemin pour y enregistrer certains fichiers. Mais dans le dialogue de fichier ouvert, il me semble que je dois sélectionner un fichier à ouvrir. Comment puis-je simplement spécifier un dossier sans ouvrir un fichier comme C:\config \

Voici mon code

If apppath = "" Then
        Dim fd As OpenFileDialog = New OpenFileDialog()
        fd.Title = "Select Application Configeration Files Path"
        fd.InitialDirectory = "C:\"
        fd.Filter = "All files (*.*)|*.*|All files (*.*)|*.*"
        fd.FilterIndex = 2
        fd.RestoreDirectory = True
        If fd.ShowDialog() = DialogResult.OK Then
            apppath = fd.FileName
        End If
        My.Computer.FileSystem.WriteAllText(apppath & "apppath.txt", apppath, False)
    End If

Je dois sélectionner un fichier pour que cela fonctionne, mais je veux simplement sélectionner un dossier. Alors, quelle est la solution?

8
FPGA

Vous souhaitez utiliser la classe FolderBrowserDialog au lieu de la classe OpenFileDialog. Vous pouvez trouver plus d'informations à ce sujet ici:

http://msdn.Microsoft.com/en-us/library/system.windows.forms.folderbrowserdialog(v=vs.110).aspx

Par exemple, vous pouvez faire ceci:

If apppath = "" Then
    Dim dialog As New FolderBrowserDialog()
    dialog.RootFolder = Environment.SpecialFolder.Desktop
    dialog.SelectedPath = "C:\"
    dialog.Description = "Select Application Configeration Files Path"
    If dialog.ShowDialog() = Windows.Forms.DialogResult.OK Then
        apppath = dialog.SelectedPath
    End If
    My.Computer.FileSystem.WriteAllText(apppath & "apppath.txt", apppath, False)
End If
17
Steven Doggart

Si je comprends bien, vous voulez laisser l’utilisateur choisir un dossier. Si tel est le cas, vous souhaitez utiliser FolderBrowserDialog au lieu de OpenFileDialog.

2
APrough
Dim filedialog As New OpenFileDialog
filedialog.IntialDirectory = Application.StartupPath
filedialog.ShowDialog()
1
ad48

Ou vous pouvez simplement faire moins de lignes et très simple.

http://i.imgur.com/bMq0HNz.png

'Start your dialog with a click    

Private Sub Button1_Click (expéditeur en tant qu'objet, en tant qu'éventArgs) gère Button1.Click FolderBrowserDialog1.ShowDialog () End Sub

'Add if you want to show the actual path that you choose from your dialog
Private Sub FolderBrowserDialog1_Disposed(sender As Object, e As EventArgs) Handles Button1.Click
    TextBox1.Text = FolderBrowserDialog1.SelectedPath.ToString
End Sub
0
Kingsman Coder