Windows Forms - ShowDialog с родителем - почему щелчок по родительскому элементу не активирует диалог, когда главное окно развернуто

Я наблюдаю нестандартное поведение (по сравнению с такими инструментами, как Word и Visual Studio 2013) в моем приложении Windows Forms на C ++. Мы используем Application :: Run, а затем ShowDialog для отображения различных модальных диалогов. Когда один из модальных диалогов открыт и я частично помещаю другое окно приложения перед модальным диалоговым окном, я могу щелкнуть часть модального диалогового окна, и оно вернет его на передний план, как я и ожидал.

Однако, если я вместо этого щелкну часть главного окна (показанного с помощью Application :: Run), модальный диалог не будет выведен на передний план. Это затрудняет возврат моего приложения, чтобы я мог работать над ним. Идеи?

Простое приложение MFC, созданное в VS2013, тоже работает должным образом. Вы можете засвидетельствовать это с помощью поля «О программе», которое отображается с помощью DoModal. Я ожидал, что ShowDialog и DoModal будут эквивалентами. Простое приложение winforms на C ++ / CLI или C # работает нормально.

И это происходит только в нашем приложении, когда наше главное окно развернуто.


person Ben    schedule 30.12.2015    source источник
comment
Правильно ли вы устанавливаете владельца? свойство для показываемых диалогов? Это свойство должно быть установлено для ссылки на родительское окно для каждого диалогового окна.   -  person Leandro    schedule 30.12.2015
comment
Работает отлично, когда пробую, никогда раньше не слышал такой жалобы. Требуется повторный код.   -  person Hans Passant    schedule 30.12.2015
comment
Дополнительная информация: * это происходит только тогда, когда наше главное окно развернуто * Я не могу воспроизвести это в примере приложения (с использованием C ++ / CLI или C #). * Конечно, не могу опубликовать наше настоящее приложение.   -  person Ben    schedule 31.12.2015


Ответы (1)


Оказывается, это вызвано тем, что мы используем библиотеки пользовательского интерфейса Syncfusion. Они исправят ошибку.

person Ben    schedule 15.01.2016