Chỉnh sửa: Bằng cách nào đó tôi đã đọc sai câu hỏi của bạn để bao gồm việc kiểm tra ký tự hợp lệ. Bạn đã sửa đổi nó chưa? Tôi đã thêm một mô tả của mỗi.
- keyCode là giá trị Keys liệt kê cho phím đó là xuống
- KeyData cũng giống như keyCode, nhưng kết hợp với bất kỳ phím SHIFT/CTRL phím/ALT
- KeyValue chỉ đơn giản là đại diện số nguyên của Mã khóa
Nếu bạn chỉ cần t nhân vật của anh ấy, tôi có thể khuyên bạn nên sử dụng sự kiện KeyPress và sử dụng KeyPressEventArgs. KeyChar tài sản. Sau đó, bạn có thể sử dụng Char.IsLetterOrDigit() để tìm hiểu xem đó có phải là ký tự hợp lệ hay không.
Cách khác, bạn có thể truyền KeyEventArgs.KeyCode cho một char và sau đó sử dụng Char.IsLetterOrDigit trên đó.
Nguồn
2009-02-19 08:00:04
Tôi không đồng ý ... Bạn giả định rằng người dùng không muốn bắt bất kỳ công cụ sửa đổi nào và đầu vào của anh ta bị giới hạn ở ASCII bàn phím. – Cerebrus
IsLetterOrDigit chỉ hoạt động với ascii? – Svish
IsLetterOrDigit sử dụng CharUnicodeInfo.GetUnicodeCategory nếu ký tự không phải là latin. –