Возник такой вопрос. Есть приложение (Windows Forms), у которого при его работе выполняется некий долгий асинхронный вызов, реализованный через BeginInvoke (MulticastDelegate).
Тем временем пользователь не лишен возможности что-то делать в "главном" окне.
Проблема заключается в том, что когда пользователь кликает по "крестику", окно долго висит, обрабатывая в фоне асинхронные операции. Причем FormClosing отрабатывает только тогда, когда отработает асинхронная операция (и я не могу на нее никак повлиять своими средствами, обрубить выполнение этого сетевого запроса, например).
Не могу также отловить нужное мне сообщение, WM_QUIT тоже отрабатывает слишком поздно (по моим опытам, или я не прав?).