2013-04-02 9 views
-1

У меня есть приложение WinForm, которое подключается через Net.Sockets к другой программе.Вызов нескольких методов после закрытия программы

Когда он закрывается на X или ALT +F4 или любом другие, несколько подпрограмм должны быть обработаны, и мне нужно держать подключение к сети, пока они не сделали.

Я думал, что Application.ApplicationExit Обработчик сделает трюк, но как только я дам заказ, сетевое соединение мертво. Другие важные вещи не могут быть выполнены.

Моя форма закрыта мгновенно, и мне это нужно немного дольше.

Application.ApplicationExit нужный инструмент для работы?

Я положил это в свой класс формы App.Runs из основного метода, который находится в другом классе.

+1

У вас есть основная форма приложения, в которой вы можете прослушивать событие «Закрытие»? –

ответ

5

Вы можете использовать событие Closing формы. Он вызывается до закрытия формы.

+0

протестировал его и работает - спасибо mate –

+0

@JulianSchaefer - Если вы считаете, что это ответ, пожалуйста, отметьте, что вы его принимаете, нажав на галочку рядом с цифрами слева. – Belogix

0

Если у вас есть открытое окно, есть обработчик событий Closing и Closed. Closing -event запускается, как только вы нажимаете «X», например. Внутри метода вы даже можете решить, закрыть ли окно или нет.

Обеспечить обработчик событий как

private void Form1_Closing(object sender, FormClosingEventArgs e){ 
// persist until everything is done 
} 

и связать его с событием

Form1.Closing += Form1_Closing; 

См MSDN для документации.

Смежные вопросы