У меня есть приложение, ParentApp
, которое запускает другое приложение, ChildApp
.
ParentApp
отображает форму, а ChildApp
Childapp в данный момент работает с дисплеем с кнопкой Отмена, которая убивает ChildApp
.
Я хочу, чтобы ParentApp
был непригоден для использования, когда ChildApp
работает, поэтомувсякий раз, когда кто-то нажимает на ParentApp
, я хочу вывести ChildApp
на передний план, и это нормально.
Итак, я добавил этот обработчик событий в ParentApp
, который отвечает на событие Activated
формы.
private void ParentAppForm_Activated(object sender, EventArgs e)
{
IntPtr childHwnd = _childApp.MainWindowHandle;
SetForegroundWindow(childHwnd );
}
(GotFocus
, похоже, не работает)
К сожалению, если пользователь нажимает кнопку Cancel
на ParentAppForm
, обработчик события для этой кнопки никогда не срабатывает, потому что событие Activated
запускается первым и устанавливает переднее окно другим процессом.
Есть ли вокруг этого - разрешить запуск события кнопки, даже если приложение не на переднем плане?