Проблема с модальным отображением FolderBrowseDialog, когда основная форма является родительской MDIC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Проблема с модальным отображением FolderBrowseDialog, когда основная форма является родительской MDI

Сообщение Anonymous »

У меня есть приложение WinForms, которое использует родительский элемент MDI (да, я знаю, что оба они вышли из моды, но это необходимое решение).
Родительский элемент MDI имеет опцию меню, позволяющую отобразить форму настроек, которая отображается модально - это работает отлично.
В форме настроек было несколько путей к каталогам, которые требуют настройки, поэтому я хотел использовать FolderBrowserDialog, чтобы разрешить пользователю для перехода к нужным каталогам. Нажатие кнопки «Обзор...» должно открыть диалоговое окно, также модальное, и позволить пользователю выбрать папку, однако код просто блокируется, когда я вызываю...

Код: Выделить всё

if (folderBrowserDialog.ShowDialog(this) == DialogResult.OK)
Нет исключений, нет ошибок, просто останавливается все приложение.
Я проверил свойства форм, изменив TopMost обоих модальных окон (все варианты). Я подтвердил право собственности на диалоговые формы, используя this при вызове ShowDialog, я проверил наличие исключений и стек вызовов.
Нет ошибок, никаких исключений, которые я вижу, код просто останавливается. Я даже пытался скрыть форму настройки непосредственно перед отображением и сделать диалог родительским элементом MDI. Никакой радости.
Я также пробовал использовать BackgroundWorker, чтобы попытаться отобразить диалог в другом потоке на случай, если поток пользовательского интерфейса блокируется (предложено CoPilot). Не сработало.
В конечном итоге я создал свою собственную форму FolderBrowserDialog и отобразил ее - работает отлично, отображает модальное диалоговое окно над модальным окном над родительским элементом MDI, но оно выглядит по-другому и означает, что мне придется либо потратить много времени, имитируя реальный диалог, либо обеспечить худший пользовательский интерфейс.
Я также обнаружил, что попытка отобразить FolderBrowserDialog непосредственно из родительского MDI снова терпит неудачу и просто запирается. Попытка создать родительскую форму для дочерних MDI-форм тоже не работает.
Мысли? Кто-нибудь еще сталкивался с этим раньше и, что более важно, нашел решение?
Спасибо

Подробнее здесь: https://stackoverflow.com/questions/793 ... mdi-parent
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»