簡體   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