Thông thường, người ta dùng textbox control để nhận tất cả giá trị số do người dùng nhập vào, nhưng đôi lúc người sử dụng vì 1 lý do nào đó đã nhập không đúng quy cách mà bạn giao kèo. Chẳng hạn, nhập 1 số lượng phần tử của mảng vào textbox, nhưng người ta lại nhập "5a" (dư chữ "a"), và chắc chắn chương trình của bạn sẽ bị lỗi. Làm sao để giải quyết tình huống này nhỉ. Bây giờ, chỉ với 1 thủ thuật đơn giản, bạn sẽ bảo textbox chỉ cho phép nhập số vào ô textbox.
- Bước 1: tạo ứng dụng Windows Forms, thêm các textbox control tùy ý bạn
- Bước 2: sau khi đã có (các) textbox, bạn hãy thụ lý tình huống KeyPress của (các) textbox này. Trong đó, bạn đưa thuộc tính Handled về true để chặn các cú nhấn phím không hợp lệ. Cụ thể code như sau:
private void textBox1_KeyPress(object sender, KeyPressEventArgs e)
{
if (!Char.IsDigit(e.KeyChar) && !Char.IsControl(e.KeyChar))
e.Handled = true;
}
Char.IsContro(e.KeyChar) --> kiểm tra xem phím vừa nhập vào textbox có phải là các ký tự điều khiển (các phím mũi tên,Delete,Insert,backspace,space bar) hay không, mục đích dùng hàm này là để cho phép người dùng xóa số trong trường hợp nhập sai.
0 nhận xét:
Đăng nhận xét