MenuStrip控件無法顯示菜單項的原因

這幾天在開發WinForm程序中遇到幾個看起來比較詭異的問題。


一個MDI子窗體帶一個MenuStrip控件,添加了幾個菜單項。在設計器中看起來完全正常,但是一運行,只能看見菜單欄,菜單項卻無法顯示。幾經折騰,發現菜單項被合併到了MDI父窗體的菜單欄。這是由於Menustrip的一個叫做AllowMerge的屬性,默認值是TRUE的緣故,改爲FALSE就正常了。事後一想,我們常看到的標準MDI程序確實是這樣,只有父窗體有菜單欄,隨打開不同的子窗體,父窗體的菜單項相應變化。只不過我們這個MDI子窗體更獨立一點,希望有自己的菜單欄。


還有一回,發現窗體不會響應鼠標事件。原來是因爲窗體上鋪滿了Panel等控件,這些控件截獲了鼠標事件,窗體自然不會響應。正常的做法是在控件上去響應鼠標事件。


通過這幾件事,發現自己還是對WinForm的一般開發方法不熟悉。WinForm的許多操作簡單易懂,能很快上手。但是也不能完全隨心所欲,或者說,所想所做的可能並不是合理合適的。如果有時間,還是應該從頭學習一下WinForm開發。另外,要是有一本像《深入淺出MFC》那樣的,《深入淺出WinForm》,想必也會對開發有很大幫助,只是目前還沒有發現。


最近在做一些很繁瑣,自己不太喜歡,但對公司比較有幫助的開發工作。我沒有選擇迅速完成,而是靜下心來,仔細規劃,寫些整齊的,帶註釋的代碼,寫完了也比較有成就感。而且漸漸對原本不喜歡的工作、技術產生了興趣。又一次驗證了我原來的想法,任何事都是有些搞頭、有些趣味在裏頭的。不過也許也只是胸無大志,沒有目標的表現罷了,呵呵。

發佈了56 篇原創文章 · 獲贊 26 · 訪問量 22萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章