Компонент диалога браузера папок не отображает список папок в формах Windows

У меня есть библиотека C#, содержащая форму, в которой я использую компонент диалога браузера папок, чтобы получить путь к папке. Форма отображается во время установки моего приложения с помощью Custom Installer. При нажатии на кнопку обзора, чтобы показать диалог браузера папки. Диалог открыт, но списка папок не было, отображается пустое диалоговое окно с кнопками ОК и Отмена. Я использую следующий код:

FolderBrowserDialog folderBrowserDialog = new FolderBrowserDialog();
folderBrowserDialog.RootFolder = Environment.SpecialFolder.MyComputer;
if (folderBrowserDialog.ShowDialog() == DialogResult.OK)
{
    txtDBPath.Text = folderBrowserDialog.SelectedPath; 
    btnSelectFile.Enabled = true;
}

Как я могу решить эту проблему. Спасибо

1 ответ

Я решил эту проблему.

Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
    Try
        Dim MyThread As New Threading.Thread(AddressOf ShowMyFolderBrowserDialog)
        MyThread.SetApartmentState(Threading.ApartmentState.STA)
        MyThread.Start()
    Catch ex As Exception
        MsgBox(ex.Message, MsgBoxStyle.Exclamation, "Setup")
    End Try
End Sub

Private Sub ShowMyFolderBrowserDialog()
    Try
        Me.FolderBrowserDialog1.RootFolder = Environment.SpecialFolder.MyComputer
        Me.FolderBrowserDialog1.Description = "Select folder"
        If System.IO.Directory.Exists(Me.TextBox1.Text) Then
            Me.FolderBrowserDialog1.SelectedPath = Me.TextBox1.Text
        End If
        If Me.FolderBrowserDialog1.ShowDialog() = Windows.Forms.DialogResult.OK Then
            Me.TextBox1.Text = Me.FolderBrowserDialog1.SelectedPath
        End If
    Catch ex As Exception
        MsgBox(ex.Message, MsgBoxStyle.Exclamation, "Setup")
    End Try
End Sub
Другие вопросы по тегам