Hỏi đáp
Chia sẻ kiến thức, cùng nhau phát triển
Cho em hỏi:
+ Ví dụ em có 1 form A chứa 1 user control là B
+ Trong B em add thêm 1 user control nữa là C
+ Trong C em có mấy cái button, text box, ....
- Cho em hỏi có cách nào bắt được sự kiện key Press của C không vậy ạ . Em thử dùng focus hoặc event key press của C rồi mà không được.
+ Em cũng thử bắt key press / down của B hay A cũng không được
1. Nếu bạn muốn bắt sự kiện liên quan đến key cho form thì cần set thuộc tính this.KeyPreview = true trước.
2. Còn nếu trên UserControl thì tuỳ vào vấn đề của bạn mà dùng thủ thuật thôi chứ hồi đó mình mò cái này thì biết là UserControl không có thuộc tính KeyPreview và muốn bắt sự kiện liên quan đến key cần override lại hàm ProcessKeyPreview. Ví dụ:
Lưu ý là để sự kiện xảy ra thì UserControl cần được focus.
KeyPress chỉ raise trên control được focus nhé bạn