Предположим, у меня есть форма, открытая с помощью метода .ShowDialog ().
В какой-то момент я присоединяю некоторые обработчики событий к некоторым элементам управления в форме.
, например
// Attach radio button event handlers.
this.rbLevel1.Click += new EventHandler(this.RadioButton_CheckedChanged);
this.rbLevel2.Click += new EventHandler(this.RadioButton_CheckedChanged);
this.rbLevel3.Click += new EventHandler(this.RadioButton_CheckedChanged);
Когда форма закрывается, мне нужно удалить эти обработчики, верно?
В настоящее время я делаю это, когда происходит событие FormClosing.
1012 *, например *
private void Foo_FormClosing(object sender, FormClosingEventArgs e)
{
// Detach radio button event handlers.
this.rbLevel1.Click -= new EventHandler(this.RadioButton_CheckedChanged);
this.rbLevel2.Click -= new EventHandler(this.RadioButton_CheckedChanged);
this.rbLevel3.Click -= new EventHandler(this.RadioButton_CheckedChanged);
}
Однако я видел несколько примеров удаления обработчиков в методе Dispose ().
Есть ли лучший способ сделать это?
(Использование C #, Winforms, .NET 2.0)
Спасибо.