Событие Exited процесса

  • Автор темы Young Programmer
  • Дата начала
Y

Young Programmer

Гость
#1
Столкнулся со следующей проблемой:

в форме при нажатии кнопки загружается некий процесс (в моем случае игра). В обработчике события Click этой кнопки создаю процесс (Process myprocess=....)и в нем же (обработчике) регистрирую событие myprocess.Exited.
Метод для обработки myprocess.Exited создается в классе формы. Так вот, при завершении процесса (игры) должен вроде как включаться обработчик myprocess.Exited, но все действия обработчика почему-то не выполняются. Может я не так что понял касательно события Exited?
И еще, если на форме из компонентов присутсвуют только элементы buttons, combobox, label нужно ли выполнять метод Dispose() для формы перед ее закрытием, либо вызывать деструктор для формы с вызовом Dispose(false)? :\
 
P

Pasha

Гость
#2
<!--QuoteBegin-Young Programmer+17:12:2007, 22:40 -->
<span class="vbquote">(Young Programmer @ 17:12:2007, 22:40 )</span><!--QuoteEBegin-->при завершении процесса (игры) должен вроде как включаться обработчик myprocess.Exited, но все действия обработчика почему-то не выполняются. Может я не так что понял касательно события Exited?
[snapback]90247" rel="nofollow" target="_blank[/snapback]​
[/quote]Ты все правильно понял, просто не дочитал до конца. Открой [snapback]90247" rel="nofollow" target="_blank[/snapback]</div>[/quote]Достаточно просто знать что форма - это IDisposable, и для своевременного освобождения ресурсов ее лучше использовать примерно так:
Код:
using (MyForm form = new MyForm())
{
//...
}
Но можно и забить на Dispose, GC при сборке мусора сам вызовет деструкторы, те для всех компонетов вызовут Dispose(false).
 
Y

Young Programmer

Гость
#3
Но можно и забить на Dispose, GC при сборке мусора сам вызовет деструкторы, те для всех компонетов вызовут Dispose(false).
Но деструктор с вызовом Dispose(false) все равно нужно определять? Или GC освободит ресурсы даже если деструктор не определен?
 
P

Pasha

Гость
#4
Для: Young Programmer
В базовом классе формы (Component) уже определен деструктор с вызовом Dispose(false).
 
Y

Young Programmer

Гость
#5
А, ясно. Спасибо за разъяснения.