ALT + TAB не работает после отображения MessageBox в модальном диалоговом окне ...
У меня есть три проекта (P1, P2 и P3) в одном файле решения. P1 содержит P1Form.cs, P2 содержит P2Form.cs.
Подробности этих файлов следующие:
P1Form.cs содержит одну кнопку, которая показывает окно сообщения из метода MessageBox.Show()
.
P2Form.cs содержит одну кнопку, которая показывает окно сообщения из метода MessageBox.Show()
.
Проект P3 содержит 3 формы Form_A, Form_B и Form_C.
Form_A является контейнером MDI и имеет одну кнопку, которая открывает Form_B в качестве дочерней формы. Form_B также имеет одну кнопку, которая открывает Form_C как модальное диалоговое окно из метода ShowDialog ().
Form_C наследуется от P2Form.cs, а P2Form.cs наследуется от P1Form.cs.
Form_A.cs - это основная форма, которая будет первой формой для заявки.
Шаги для воспроизведения нужной проблемы:
- Откройте Form_A, которая является MDI
Контейнер
- Нажмите на кнопку, которая откроет
Form_B
- Снова нажмите кнопку на форме_B
который откроет Form_C, который
будет иметь две кнопки (обе кнопки из базовых классов P1Form.cs и P2Form.cs)
- Нажмите любую кнопку Form_C, которая
откроет окно сообщения.
Проблема:
Теперь переключаем окно через Alt + Tab. Вы не сможете увидеть значок текущего окна в окне переключения.
Альтернативные варианты, которые я пробовал ...
- Если я использую
Form.show()
вместо Form.ShowDialog
, то он работает нормально.
- Если я напишу всю кодировку MessageBox в текущем классе вместо записи в базовом классе, то все будет работать нормально.
Может кто-нибудь подсказать, как можно решить эту проблему, не выполняя обе вышеупомянутые альтернативы, которые я уже пробовал?