Где отказаться от подписки события в WinForms UserControl

Поздно, но быть завершенным с опциями здесь: удобный инструмент для установки любого apk через gui к рабочему эмулятору: http://apkinstaller.com

Это может непосредственно соединиться с рабочим экземпляром через adb и может успешно установить любой вид apk пакетов.

, Возможно, это также полезно для других людей.;)

7
задан John Saunders 30 March 2010 в 14:12
поделиться

3 ответа

Обязательно ли отказываться от подписки? Сохраняется ли ссылка на пользовательский элемент управления после его выгрузки? В противном случае вам не нужно беспокоиться об обработчиках событий, потому что, как только пользовательский элемент управления удаляется из памяти, обработчики событий тоже. Так вы не пропустите ссылки.

2
ответ дан 7 December 2019 в 07:48
поделиться

Как уже говорили другие, действительно ли есть необходимость отказаться от подписки в вашем сценарии?

Если вам действительно нужно отказаться от подписки, вы делаете это в точности наоборот. подписка:

UserControl1.Click -= new EventHandler(UserControl1_Click);
1
ответ дан 7 December 2019 в 07:48
поделиться

Есть раз, когда вы захотите сделать это (например, , при использовании CAB ).
Для полноты ответ на ваш вопрос:

protected override void OnCreateControl()
{
    base.OnCreateControl();
    if(!DesignMode) //only time this.ParentForm should be null
        this.ParentForm.FormClosing += ParentForm_FormClosing;
}

private void ParentForm_FormClosing(object sender, FormClosingEventArgs e)
{
    //Unregister events here
}

Вы также можете переопределить Dispose ()

4
ответ дан 7 December 2019 в 07:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: