Làm cách nào tôi có thể ghi lại các lần nhấn phím enter ở bất kỳ đâu trên biểu mẫu của tôi và buộc nó kích hoạt sự kiện nút gửi?
Làm cách nào tôi có thể ghi lại các lần nhấn phím enter ở bất kỳ đâu trên biểu mẫu của tôi và buộc nó kích hoạt sự kiện nút gửi?
Câu trả lời:
Nếu bạn thiết lập Form
's AcceptButton
tài sản cho một trong những Button
s trên Form
, bạn sẽ nhận được rằng hành vi theo mặc định.
Nếu không, hãy đặt thuộc KeyPreview
tính true
trên Form
và xử lý KeyDown
sự kiện của nó . Bạn có thể kiểm tra Enter
khóa và thực hiện hành động cần thiết.
Bạn có thể chỉ định một nút làm "AcceptButton" trong thuộc tính của Biểu mẫu và nút đó sẽ bắt bất kỳ lần nhấn phím "Enter" nào trên biểu mẫu và định tuyến chúng đến điều khiển đó.
Xem Cách thực hiện: Chỉ định Nút Biểu mẫu Windows làm Nút Chấp nhận Sử dụng Trình thiết kế và lưu ý một số ngoại lệ mà nó nêu ra (hộp văn bản nhiều dòng, v.v.)
Như đã nêu trước đó, hãy đặt thuộc tính AcceptButton của biểu mẫu của bạn thành một trong các nút của nó VÀ đặt thuộc tính DialogResult cho nút đó thành DialogResult.OK , để người gọi biết hộp thoại được chấp nhận hay bị loại bỏ.
Bạn có thể đăng ký KeyUp
sự kiện của TextBox
.
private void txtInput_KeyUp(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Enter)
DoSomething();
}
Biểu mẫu có thuộc tính KeyPreview mà bạn có thể sử dụng để chặn việc nhấn phím.
Đơn giản chỉ cần sử dụng
this.Form.DefaultButton = MyButton.UniqueID;
** Đặt id nút của bạn thay cho 'MyButton'.