您拥有沿东西线的假设:
public Form1()
{
InitializeComponent();
collection.CollectionChanged += new NotifyCollectionChangedEventHandler(collection_CollectionChanged);
}
而且假设收集的生活比这更长的表格,那么上面的事件处理程序将防止形式被垃圾收集。假设你正在创建每次显示它的时候一种新的形式,你可以在窗体的FormClosed事件退订,沿着线:
public Form1()
{
InitializeComponent();
collection.CollectionChanged += new System.Collections.Specialized.NotifyCollectionChangedEventHandler(collection_CollectionChanged);
FormClosed += new FormClosedEventHandler(Form1_FormClosed);
}
void Form1_FormClosed(object sender, FormClosedEventArgs e)
{
collection.CollectionChanged -= new System.Collections.Specialized.NotifyCollectionChangedEventHandler(collection_CollectionChanged);
}
CollectionChanged - =的someMethod? – 2012-07-05 22:17:50
我知道,但我会把它放在哪里?在构造函数中呢? 所以你说 'CollectionChanged - =的someMethod;'' + CollectionChanged =的someMethod;' – 2012-07-05 22:30:36