1. Мегаконкурс в апреле "Приведи друзей на codeby". Дарим деньги, подписку на журнал хакер и выдаем статус "Paid Access". Подробнее ...

    Скрыть объявление

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

Тема в разделе ".NET", создана пользователем Young Programmer, 17 дек 2007.

Наш партнер Genesis Hackspace
  1. Young Programmer

    Young Programmer Гость

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

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

    Pasha Гость

    <!--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, и для своевременного освобождения ресурсов ее лучше использовать примерно так:
    Код (Text):
    using (MyForm form = new MyForm())
    {
    //...
    }
    Но можно и забить на Dispose, GC при сборке мусора сам вызовет деструкторы, те для всех компонетов вызовут Dispose(false).
     
  3. Young Programmer

    Young Programmer Гость

    Но деструктор с вызовом Dispose(false) все равно нужно определять? Или GC освободит ресурсы даже если деструктор не определен?
     
  4. Pasha

    Pasha Гость

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

    Young Programmer Гость

    А, ясно. Спасибо за разъяснения.
     
Загрузка...

Поделиться этой страницей