Bài 2: Tìm hiểu thêm về TextBox và Label ControlsTrong 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 co
Trang 1Bà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
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
3.Sắp xếp các controls như hình vẽ dưới đây:
Trang 24.Click vào TextBox TxtPassword chọn Password Character trên Property Window Ðánh vào dấu "*"(Asterisk) Ðây là ký tự thay thế sẽ hiện ra khi chúng ta đánh password
5.Chúng ta đã xong phần thiết kế giao diện.Bây giờ double click vào TextBox
TxtUserName để hiện ra Code Window(hay click vào biểu tượng View Code trên
Project Window).Phía trên Code Window được chia làm 2 phần.Bên trái là danh sách các Controls, bên phải là danh sách các Events của một control tương ứng Muốn viết mã chương trình cho Event nào chỉ cần click vào tên Control và tên Event, sau
đó viết code vào khoảng giữa Private sub End sub.Ðánh vào những dòng sau:
Const Pwd = "hello"
Private Sub CmdCancel_Click()
End
End Sub
Private Sub CmdOk_Click()
If TxtPassword.Text = Pwd Then
MsgBox "Welcome"
Else
MsgBox "Invalid password"
End If
End Sub
Private Sub TxtUserName_Change()
LblDisplay.Caption = TxtUserName.Text
End Sub
Private Sub TxtUserName_KeyPress(KeyAscii As Integer)
If KeyAscii = vbKeyReturn Then TxtPassword.SetFocus
End Sub
Trang 3Private Sub TxtUserName_LostFocus()
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ự Khi một control nhận được sự chú ý của chương trình thì xảy ra
Event ngược lại là GotFocus.)
Khi xảy ra Event Click trên CmdCancel thì chúng ta chấm dứt chương trình bằng câu lệnh End Còn khi click vào CmdOk thì chương trình kiểm tra nếu password đánh vào giống như Constant(tạm dịch là hằng số, là một số có giá trị không đổi, thật ra trong trường hợp này không phải là số mà là những ký tự đã được định trước:Const Pwd
= "hello") thì hiện ra thông điệp "Welcome",còn nếu không phải (Else) thì hiện câu
"Invalid Password".Chúng ta hoàn toàn có thể thay đổi chữ "hello" bằng bất kỳ chữ nào khác mà ta thích
Trang 4Tóm lại qua bài này chúng ta đã tìm hiểu một số Events và Methods thông dụng của TextBox Control cűng là những Events và Methods căn bản của hầu hết các controls khác.Trong bài sau quý vị sẽ tìm hiểu thêm một số control thông dụng khác