Bài 2: Tìm hiểu thêm về TextBox và Label Controls
Trong bài 1 quý vị đã làm quen với Label và TextBox controls.Bài này chúng tôi sẽ đi
sâu vào một số Methods và Events thông dụng của 2 controls trên.Bây giờ chúng ta
hãy thiết kế một form thường được gọi là form Log In cho phép người sử dụng đánh
tên và mật mã(Password) vào sau đó kiểm tra xem password có đúng với những chữ
đã được định trước không.
1. Mở một project mới, Trên Properties Window double click vào
caption
và đánh vào
chữ Log In. Double Click vào
Name
và đặt tên form là frmLogIn. Property
Name
là tên
của control được sử dụng trong mã chương trình, còn
caption
là tên hiện ra trên
thanh tiêu đề (title bar)của form.
2.Ðặt các controls với Properties như bảng1 dưới đây lên form LogIn
Control Name Caption Text
Label LblUserName User Name
Label LblPassword Password
Label LblDisplay Display
TextBox TxtUserName ""
TextBox TxtPassword ""
CommandButton CmdOk Ok
CommandButton CmdCancel Cancel
Bảng 1.
Chú thích:
• Ô tô đậm: không có property tương ứng.
• ký hiệu "": để khoảng trắng
If TxtUserName.Text = "" Then MsgBox "Please enter User Name"
End Sub
6. ấn phím F5 để chạy chương trình.Lần lượt kiểm tra các bước sau:
• Chưa đánh chữ vào user name textbox,ấn phím Tab->hiện ra message box
nhắc ta đánh chữ vào.
• Ðánh tên user->LblDisplay sẽ thay đổi tương ứng. Sau đó ấn phím Enter-
>Cursor(con trỏ) sẽ chuyển sang textbox password.
• Ðánh password->Chỉ thấy dấu "*" hiện ra
• Click Ok->hiện ra message box cho ta biết password vừa đánh vào là đúng hay
sai.Password đúng là "hello"
• Click Cancel->dừng chương trình.
Giải thích:
Chúng ta đã sử dụng 3 Events của textbox :
• _KeyPress(KeyAscii As Integer): sự kiện xảy ra khi có phím được ấn.Mỗi ký tự
mà chúng ta đánh vào đều có tương ứng một mã Ascii(số từ 0..255) .Còn
Integer là một loại dữ liệu số học từ -32,768 to 32,767. Chương trình của
chúng ta sẽ kiểm tra nếu (If)phím được ấn là Enter(VbKeyReturn) thì
(Then)Cursor sẽ chuyển sang textbox TxtPassword( SetFocus). VbKeyReturn là
một hằng số(constant)=13 tương đương với mã Ascii của phím Enter. Trong đó
SetFocus là một Method làm cho control nhận được sự chú ý của chương
trình.
• (Text) _Change(): sự kiện xảy ra khi nội dung trong textbox bị thay đổi.(nếu
cả hai sự kiện đều xảy ra thì KeyPress sẽ xảy ra trước). Khi nội dung trong text
box bị thay đổi thì chúng ta thay đổi
caption
của LblDisplay tương ứng với nội
dung mới.
• _LostFocus(): Xảy ra khi control mất sự chú ý của chương trình. Chương trình
chúng ta kiểm tra xem nếu nội dung trong textbox rỗng(null) thì hiện ra thông
điệp nhắc nhở user đánh chữ vào cűng bằng cấu trúc (If...Then...).(Tương tự