C#窗體無法接受鍵盤單擊事件,Keydown事件無相應解決


問題:當新建一個窗體時,添加KeyDown事件后,會正常處理;但是當添加有控件時,比如Button,TextBox,就不會觸發窗體的KeyDown事件,也沒有調用KeyDown事件的處理程序。

原因:由於窗體中添加了控件,於是焦點就在其中一個控件上,如果我們要處理的事件窗體和獲取焦點的控件都同時擁有,系統就會將鍵盤的操作鍵值直接傳遞給這個獲取焦點的控件,就會出現上面這個問題。

解決方案:此時需要將窗體的KeyPreview屬性設置為true,將系統傳入的鍵值先傳遞給窗體,再傳遞給控件。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM