您擁有沿東西線的假設:
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