.NET 4.x Перехват событий формы после Process.WaitForExit() - C#

Узнай цену своей работы

Формулировка задачи:

Доброго времени суток. Проблема в следующем: есть форма, на которой несколько кнопок, к каждой привязано событие. одна из кнопок запускает приложение по средствам:
Process.Start();
Process.WaitForExit();
окно приложение запущенного процесса перекрывает не всю область формы, и если нажимать на элементы формы ВО ВРЕМЯ работы процесса, то ничего не происходит. Но как только приложение процесса закрывается, то все события начинают свою отработку Можно конечно сделать тупо
Form.Enabled = false;
Process.Start();
Process.WaitForExit();
Form.Enabled = true;
или ещё тупее - объявить булиновскую переменную, которая будит проверяться в каждом событие... Но без обходных путей, как сделать что бы головная форма не "скапливал" события или очищала все события после закрытия процесса?!
Конструкция
Form.Enabled = false;
Process.Start();
Process.WaitForExit();
Form.Enabled = true;
То же не работает Т.к. WaitForExit() приводит поток главного окна, как я понял, в режим Sleep(). И после выполнения функции(т.е. Form.Enabld = true уже выполнится), всё равно идёт обработка событий кликов!

Решение задачи: «.NET 4.x Перехват событий формы после Process.WaitForExit()»

textual
Листинг программы
SetForegroundWindow(MyProcess.MainWindowHandle);

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4 из 5
Похожие ответы