224
Chương 6: Windows Form
Có một số cách để bạn có thể thực hiện việc xác nhận tính hợp lệ trong một ứng dụng dựa-
trên-Windows. Một cách tiếp cận là đáp ứng các sự kiện điều khiển việc xác nhận tính hợp lệ
và không cho người dùng thay đổi focus từ điều kiểm này sang điều kiểm khác nếu lỗi xảy ra.
Một cách tiếp cận khác là dựng cờ cho điều kiểm có lỗi theo một cách nào đó để người dùng
có thể nhìn thấy tất cả lỗi một lượt. Bạn có thể sử dụng cách tiếp cận này trong .NET với điều
kiểm
ErrorProvider
.
ErrorProvider
là một điều kiểm provider đặc biệt, được sử dụng để hiển thị icon lỗi kế bên
điều kiểm có lỗi. Bạn có thể hiển thị icon lỗi kế bên một điều kiểm bằng cách sử dụng phương
thức
ErrorProvider.SetError
, và chỉ định điều kiểm thích hợp và một chuỗi thông báo lỗi.
ErrorProvider
sẽ hiển thị icon lỗi một cách tự động ở bên phải điều kiểm. Khi người dùng
đưa chuột lên icon lỗi, sẽ xuất hiện thông báo chi tiết (xem hình 6.11).
Chỉ cần thêm
ErrorProvider
vào form, bạn có thể sử dụng nó để hiển thị icon lỗi kế bên một
điều kiểm bất kỳ. Để thêm
ErrorProvider
, bạn có thể kéo nó vào khay thành phần
(component tray) hoặc tạo nó bằng mã. Đoạn mã dưới đây kiểm tra nội dung của
TextBox
mỗi
khi một phím được nhấn, xác nhận tính hợp lệ của
TextBox
này bằng một biểu thức chính quy
(kiểm tra nội dung trong
TextBox
có tương ứng với một địa chỉ e-mail hợp lệ hay không). Nếu
nội dung này không hợp lệ,
ErrorProvider
được sử dụng để hiển thị thông báo lỗi. Nếu nội
dung này hợp lệ, thông báo lỗi hiện có trong
ErrorProvider
sẽ bị xóa. Cuối cùng, phương
thức thụ lý sự kiện
Click
cho nút OK sẽ duyệt qua tất cả các điều kiểm trên form và xác nhận
rằng không điều kiểm nào có lỗi trước khi cho phép ứng dụng tiếp tục.
Hình 6.11 Form được xác nhận tính hợp lệ với ErrorProvider
using System;
using System.Windows.Forms;
using System.Text.RegularExpressions;
public class ErrorProviderValidation : System.Windows.Forms.Form {
// (Bỏ qua phần mã designer.)
private void txtEmail_TextChanged(object sender,
System.EventArgs e) {