【问题标题】:Folder Browser Dialog Component not showing folders list in windows forms文件夹浏览器对话框组件未在 Windows 窗体中显示文件夹列表
【发布时间】:2015-03-26 23:27:08
【问题描述】:

我有一个包含表单的 C# 库,我在其中使用文件夹浏览器对话框组件来获取文件夹路径。 在使用自定义安装程序安装我的应用程序期间显示表单。 单击浏览按钮以显示文件夹浏览器对话框时。对话框打开但没有文件夹列表,显示空白对话框,带有确定和取消按钮。我正在使用以下代码:

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

我该如何解决这个问题。谢谢

【问题讨论】:

  • “自定义安装程序”肯定很麻烦。添加诊断: if (System.Threading.Thread.CurrentThread.GetApartmentState() != System.Threading.ApartmentState.STA) MessageBox.Show("It's going to be empty");

标签: c# winforms windows-controls


【解决方案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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-29
    相关资源
    最近更新 更多