原發問問題
1
:
章老師你好,我最近在看你寫的《
Visual C# 2005
程序開發與界面設計祕訣》這本書。在
254
頁所提到的重寫基窗口中控件的事件處理函數時,發現個問題。
在重寫以後,點擊
bntProtected
按鈕時,先後出現了
2
次
「
我如今位於繼承窗體
Form2
中。
……」
的信息框。
應該是運行了
2
次
bntProtected_Click()
函數,能不能只讓它出現一次的?
謝謝,回答!
親愛的讀者您好,很感謝您對於章立民研究室的支持,有關於您提到的問題,回覆以下:
當父表單按鈕的
Modifiers
屬性是
Protected
時,按下繼承子表單的按鈕會依序觸發父表單,以及子表單的按鈕事件,因此會執行兩次事件處理常式,而此種現象正是繼承的效果。若是但願僅觸發一次事件處理常式,請嘗試將父表單上按鈕的
Modifiers
屬性設定爲
Private
,或者於繼承表單中加入新的按鈕控制項,來實做事件處理常式。
原發問問題2:
關於窗體的繼承在您的著做中已有論述,十分感謝!
可是若是做爲基類的窗體中有本身的上下文菜單。即便在基類中設置其及其各個Item的 Modifiers屬性是「Public」,而在其派生類中屬性依然無法通過設計器進行更改。可是能夠通過使用語句進行更改,爲什麼呢?(版本是C# 2005)。
親愛的讀者您好,很感謝您對於章立民研究室的支持,有關於您提到的問題,回覆以下: