繁体   English   中英

folderBrowserDialog 在 C# 中不起作用

[英]folderBrowserDialog does not work in c#

当我单击按钮以使用 c# 中的 folderBrowserDialog 选择一个文件夹时,该对话框未显示,并且对话框的结果自动设置为Cancel ..这是 Button_Click 背后的代码:

private void glassButton1_Click(object sender, EventArgs e)
{
    DialogResult result = folderBrowserDialog1.ShowDialog();//here Dialog is not shown and result=Cancel
    if (result==DialogResult.OK)
    {
        folderBrowserDialog1.ShowNewFolderButton = true;
        backupPath = folderBrowserDialog1.SelectedPath.ToString();
        if (Directory.Exists(backupPath))
            backupTextBox.Text = backupPath;
        //else MessageBox.Show("path is invalid", "error", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1);
    }
}

我该如何解决? 谢谢 。

这是代码,它对我来说很好用。

using (var dialog = new FolderBrowserDialog())
    if (dialog.ShowDialog() == DialogResult.OK)
    {
         // some code...
    }

您的代码工作正常。 当您单击 FolderBrowserDialog“确定按钮”时,结果为DialogResult.OK 如果在结果值设置为 DialogResult.Cancel 时单击“取消”或“关闭”按钮

项目属性 -> 构建部分 -> 平台目标,我检查了Prefer 32-bit checkBox 并解决了我的问题。

将 STAThread 属性添加到 main 方法。

static class Program
{
    [STAThread]
    static void Main(string[] args)
    {
        ...        
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM