2014-10-02 154 views
0

由於某些原因,Load事件未被觸發。遇到類似Why usercontrols loaded event is not fired的麻煩,所以我試圖改變VS異常「處理」建議,但沒有例外拋出。Winforms UserControl加載事件未被觸發

如本主題UserControl Load event not fired中所建議的,如果我重寫OnLoad方法,它將被調用。 Load事件和OnLoad方法之間是否有區別?任何想法爲什麼被稱爲,但另一個不是?

UserControl Inicialization

this.Load += new System.EventHandler(this.MessageItemUC_Load); 

而且方法

private void MessageItemUC_Load(object sender, EventArgs e) { 
    //is not called 
} 
protected override void OnLoad(EventArgs e) { 
    //is called 
    base.OnLoad(e); 
} 

回答

1

的OnLoad是負責擊發負載事件的方法。因此,如果有人在不調用Base.OnLoad的情況下覆蓋OnLoad方法,則Load事件可能不會觸發。或者,如果有人將Load事件標記爲已處理,那麼它可能無法啓動

+0

兩個都沒有發生,OnLoad沒有被覆蓋。 – pikausp 2014-10-02 17:26:53

+0

@pikausp可能是負載也沒有完成 – Steve 2014-10-02 17:28:04

+0

如果這是你的想法,我對'Load'事件做了subsribe。 – pikausp 2014-10-02 17:30:16