我在C#WinForms中有一個名爲BaseControl
的自定義控件,那裏有一個名爲Selected
的屬性。如何覆蓋C#中的WinForm UserControl中的方法和事件?
我想在基控制的事件SelectedChanged
和虛擬方法OnSelecteChanged
和它們應以相同的方式表現,因爲我們有在Control
類許多屬性即Click
事件和OnClick
方法。
意味着從我的BaseControl
派生的任何人都可以綁定到該事件,或者可以覆蓋OnSelectedChanged
方法。
因此,當Selected
屬性值被更改時,應該觸發事件,並且如果方法被覆蓋,則應該轉到該方法。
我知道如何解決事件,但不知道如何爲方法做。
請指引我...
你的OnSelectedChanged實現包含一個潛在的線程問題(如果在null檢查和最後一個listener退訂事件觸發之間會發生什麼? - >你得到一個NullReferenceException) – 2010-11-16 13:58:46
@SchlaWiener - 對於UI編程,這不是問題,因爲它是接受UI控件是**不是**多線程安全,只能從一個線程訪問。但是,是的,你是對的。 – 2010-11-16 14:00:58