01/10/2018, 17:18

Chỉ cho phép nhập số nguyên vào TextBox

Control TextBox mặc định trên C# cho phép bạn nhập bất cứ ký tự nào. Nhưng bạn muốn customize TextBox của bạn cho người dùng chỉ được phép nhập số nguyên thôi. Sự kiện PressKey của TextBox là thích hợp nhất. Sự kiện này xảy ra sau khi nhấn phím và trước khi ký tự được hiển thị lên màn hình. Và ...

Control TextBox mặc định trên C# cho phép bạn nhập bất cứ ký tự nào. Nhưng bạn muốn customize TextBox của bạn cho người dùng chỉ được phép nhập số nguyên thôi. Sự kiện PressKey của TextBox là thích hợp nhất. Sự kiện này xảy ra sau khi nhấn phím và trước khi ký tự được hiển thị lên màn hình. Và bạn sử dụng đối số KeyPressEventArgs để hủy bỏ sự kiện khi nhấn phím không hợp lệ bằng cách thiết lập thuộc tính Handled = true.

Bạn sử dụng 2 hàm IsDigit & IsControl của System.Char để kiểm tra phím nhấn có phải là số (từ 0 đến 9) hay không? và có phải là phím điều khiển (delete, các phím mũi tên, …) hay không?

Ghú thích:

  • Tên TextBox: txtInteger
  • Khai báo sự kiện KeyPress cho TextBox:

txtInteger.KeyPress += new KeyPressEventHandler(txtInteger_KeyPress);

Sau khi nhấn F5 chạy chương trình, bạn sẽ được kết quả như hình bên dưới:

Đoạn code demo này được viết trên VS2010, bạn có thể viết tương tự ở VS2005 & VS2008

Chúc bạn thành công! :roll:


0