Thursday, August 4, 2011

Hạn chế ký tự nhận được trong TextBox - Number TextBox with winform

Trong một số trường hợp chúng ta cần hạn chế loại ký tự được phép nhận của một TextBox, ví dụ như chúng ta sử dụng TextBox để yêu cầu người dùng nhập vào tuổi của họ, trong trường hợp này thì TextBox chí nhận vào số mà không thể nhận vào ký tự.
Vậy làm sao làm được yêu cầu bên trên ? Với winform mọi chuyện thật đơn giản và nhanh chóng.
Trong TextBox của .Net có định nghĩa sẵn sự kiện KeyPress sự kiện này sẽ phát sinh ngay khi có một phím được gởi đến TextBox nhưng chưa được chấp nhận trên TextBox, chúng ta sẽ dựa và sự kiện này để chặn lại các ký tự không phải là số. Đoạn code sao là để mô ta công việc trên

// Kiểm tra nếu phím mới gõ từ bàn phím không phải là phím số và các phím chức năng thì không nhận
if (!Char.IsDigit(e.KeyChar) && !Char.IsControl(e.KeyChar))
{
MessageBox.Show("Input number only !");
e.Handled = true;
}

Nhúng đoạn code trên vào sự kiện KeyPress của TextBox mà bạn muốn hạn chế chỉ nhận số vậy là xong.

Chúc bạn thành công .

No comments:

Post a Comment

Translate