9

アプリケーションの最初の起動時に、いくつかのファイルを保存するためのパスを指定する必要があります。しかし、ファイルを開くダイアログでは、開くファイルを選択する必要があるようです。C:\config\ のようなファイルを開かずにフォルダを指定するにはどうすればよいですか

これが私のコードです

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

機能させるにはファイルを選択する必要がありますが、フォルダーを選択したいだけです。それで、解決策は何ですか?

4

6 に答える 6

19

FolderBrowserDialogクラスの代わりにクラスを使用したいOpenFileDialog。詳細については、次を参照してください。

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

たとえば、次のようにします。

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
于 2012-07-13T12:00:48.460 に答える
2

私の理解が正しければ、ユーザーにフォルダを選択させたいと考えています。その場合は、OpenFileDialog の代わりに FolderBrowserDialog を使用します。

于 2012-07-13T12:00:34.187 に答える
0

または、単に行数を減らして非常にシンプルにすることもできます。

リンク: http://i.imgur.com/bMq0HNz.png

クリックしてダイアログを開始します。

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    FolderBrowserDialog1.ShowDialog()
End Sub

ダイアログから選択した実際のパスを表示する場合は追加します

Private Sub FolderBrowserDialog1_Disposed(sender As Object, e As EventArgs) Handles Button1.Click
    TextBox1.Text = FolderBrowserDialog1.SelectedPath.ToString
End Sub
于 2015-03-22T07:19:17.800 に答える