Tôi có một UserControl bao gồm ba TextBox. Trên một biểu mẫu tôi có thể có một hoặc nhiều hoặc UserControl của tôi. Tôi muốn thực hiện hành vi tab của riêng tôi vì vậy nếu người dùng nhấn Tab trong TextBox thứ hai, tôi chỉ nên di chuyển đến TextBox thứ ba nếu TextBox thứ hai có bất cứ thứ gì được nhập vào. Nếu không có gì được nhập vào trong TextBox thứ hai thì điều khiển tiếp theo của biểu mẫu sẽ được lấy nét theo hành vi tab bình thường. Nếu người dùng đã không nhập bất cứ điều gì trong TextBox đầu tiên hoặc thứ hai và các tab nhấn có trường hợp đặc biệt này, nơi một điều khiển trên biểu mẫu nên được bỏ qua.Hành vi tab ghi đè trong WinForms
Bằng cách sử dụng ProcessDialogKey tôi đã quản lý để làm cho nó hoạt động tốt nhưng tôi vẫn có một vấn đề. Câu hỏi của tôi là nếu có cách phát hiện cách điều khiển WinForms tập trung vì tôi cũng muốn biết liệu UserControl của tôi có tập trung từ Tab hay Shift-Tab và sau đó thực hiện công cụ kỳ lạ của mình nhưng nếu người dùng nhấp vào điều khiển tôi không muốn làm bất cứ điều gì đặc biệt.