C# не работает Folder Browser Dialog [cefsharp - winforms]
Не отображается окно выбора папки. При нажатии на кнопку из JavaScript в C# отправляю строку "folder" и выполняю следующий код:
case "folder":
foreach (Form f in Application.OpenForms)
{
if (f.GetType() == typeof(window))
{
window fTemp = (window)f;
fTemp.GetFolderPath();
}
}
break;
Функция GetFolderPath в классе формы:
public string GetFolderPath()
{
FolderBrowserDialog folderBrowser = new FolderBrowserDialog();
if (folderBrowser.ShowDialog() == DialogResult.OK)
return folderBrowser.SelectedPath;
return "";
}
Как мне отобразить окно выбора папки корректно? Вызывать данный код целиком из класса с получением ответов из JavaScript пробовал, результат тот же.
Ответы (1 шт):
Автор решения: aepot
→ Ссылка
Попробуйте открытие диалога перенаправить UI поток.
public string GetFolderPath()
{
FolderBrowserDialog folderBrowser = new FolderBrowserDialog();
DialogResult result = DialogResult.Cancel;
this.Invoke((Action)(() => result = folderBrowser.ShowDialog()));
return result == DialogResult.OK ? folderBrowser.SelectedPath : "";
}