問題:當新建一個窗體時,添加KeyDown事件后,會正常處理;但是當添加有控件時,比如Button,TextBox,就不會觸發窗體的KeyDown事件,也沒有調用KeyDown事件的處理程序。
原因:由於窗體中添加了控件,於是焦點就在其中一個控件上,如果我們要處理的事件窗體和獲取焦點的控件都同時擁有,系統就會將鍵盤的操作鍵值直接傳遞給這個獲取焦點的控件,就會出現上面這個問題。
解決方案:此時需要將窗體的KeyPreview屬性設置為true,將系統傳入的鍵值先傳遞給窗體,再傳遞給控件。
問題:當新建一個窗體時,添加KeyDown事件后,會正常處理;但是當添加有控件時,比如Button,TextBox,就不會觸發窗體的KeyDown事件,也沒有調用KeyDown事件的處理程序。
原因:由於窗體中添加了控件,於是焦點就在其中一個控件上,如果我們要處理的事件窗體和獲取焦點的控件都同時擁有,系統就會將鍵盤的操作鍵值直接傳遞給這個獲取焦點的控件,就會出現上面這個問題。
解決方案:此時需要將窗體的KeyPreview屬性設置為true,將系統傳入的鍵值先傳遞給窗體,再傳遞給控件。
本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。