Kể từ khi Carter chỉ ra rằng điều này chỉ áp dụng nếu AcceptButton được thiết lập, và giải pháp khác cho thấy bắt nguồn từ lớp RichTextBox, tôi tìm thấy một giải pháp đơn giản khác. Chỉ cần bỏ AcceptButton cho thời gian mà/a RichTextBox có tiêu điểm. Dưới đây là một mã mẫu:
private void RichText_Enter(object sender, EventArgs e)
{
AcceptButton = null;
}
private void RichText_Leave(object sender, EventArgs e)
{
AcceptButton = OKActionButton;
}
Giả định rằng bạn chỉ có một AcceptButton duy nhất và không có khả năng thay đổi. Nếu không, bạn sẽ phải sao chép một số AcceptButton tìm logic ở đây hoặc chỉ sao lưu giá trị AcceptButton trước đó trước khi thiết lập nó thành null.
Giải pháp này cũng có tác dụng phụ khi xóa đường viền mặc định khỏi nút chấp nhận thực, cho biết người dùng nhấn phím Enter bây giờ sẽ không kích hoạt nút đó.
Cảm ơn bạn. Hóa ra tôi đã có bộ đó. Tôi quên rằng tôi đang xử lý các lần nhấn phím ở mức biểu mẫu để di chuyển giữa các điều khiển khi nhập. Tôi sẽ phải móc tất cả các phím bấm và kiểm tra nhập mỗi lần để ghi đè hành vi của riêng tôi. Cảm ơn. – captncraig