アプリケーションの最初の起動時に、ファイルを保存するためのパスを指定する必要があります。しかし、ファイルを開くダイアログでは、開くファイルを選択する必要があるようです。 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
機能させるにはファイルを選択する必要がありますが、フォルダを選択したいだけです。それで解決策は何ですか?
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
私が正しく理解している場合は、ユーザーにフォルダーを選択させる必要があります。その場合は、OpenFileDialogではなくFolderBrowserDialogを使用します。
Dim filedialog As New OpenFileDialog
filedialog.IntialDirectory = Application.StartupPath
filedialog.ShowDialog()
または、単に行数を減らして非常に単純にすることもできます。
リンク: 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