GIAÏO TRÇNH LÁÛP TRÇNH VISUAL BASIC<br />
<br />
CHƯƠNG V: CÁC ĐIỀU KHIỂN CƠ BẢN<br />
<br />
Pointer<br />
Label<br />
Frame<br />
CheckBox<br />
<br />
PictureBox<br />
TextBox<br />
Command Button<br />
Option Button<br />
<br />
ComboBox<br />
<br />
ListBox<br />
<br />
HScrollBar<br />
<br />
VScrollBar<br />
<br />
Timer<br />
DirListBox<br />
<br />
DriveListBox<br />
FileListBox<br />
<br />
Shape<br />
<br />
Line<br />
<br />
Image<br />
<br />
Data<br />
<br />
Hình 26: Các điều khiển cơ bản trong Visual Basic trên thanh công cụ.<br />
<br />
I. FORM (BIỂU MẪU)<br />
Form là nơi dùng để dùng để đặt các đối tượng trên nó. Khi chạy chương trình Form<br />
xuất hiện dưới dạng một cửa sổ. Một chương trình Visual Basic có thể có nhiều Form, để<br />
chèn thêm một Form ta vào Project – AddForrm, trong số đó có một Form xuất hiện đầu<br />
tiên khi chạy chương trình gọi là Form chính:<br />
<br />
Hình 27: Một Form trong Visual Basic.<br />
<br />
I.1. Một số thuộc tính của Form<br />
-<br />
<br />
Top, Left: Xác định vị trí của Form trên màn hình (khoảng cách phía trên và bên trái)<br />
Height, Width: Kích thước của Form (chiều cao và chiều rộng)<br />
Caption: Nội dung sẽ xuất hiện trên dòng tiêu đề của Form.<br />
MaxButton, MinButton: hiển thị hay không hiển thị nút phóng lớn và thu nhỏ Form.<br />
<br />
TRUNG TÁM PHAÏT TRIÃØN PHÁÖN MÃÖM - ÂAÛI HOÜC ÂAÌ NÀÔNG<br />
<br />
Trang: 31<br />
<br />
GIAÏO TRÇNH LÁÛP TRÇNH VISUAL BASIC<br />
Border Style: Quy định các kiểu đường biên của Form (0: None, 1: Fixed Single, 2:<br />
Sizeable, 3: Fixed Dialog, 4: Fixed ToolWindow, ...).<br />
- Icon: Chọn biểu tượng hình ảnh xuất hiện bên trái thanh tiêu đề của Form.<br />
- BackColor: Màu nền của Form.<br />
- WindowState: Kích thước của Form khi chạy chương trình (0: Normal, 1:<br />
Minimized, 2: Maxminzed).<br />
Ví dụ: Thay đổi màu cửa sổ và di chuyển nó đến giữa màn hình:<br />
-<br />
<br />
Private Sub_FormLoad()<br />
Form1.WindowState = 2<br />
Form1.BackColor = QBColor(4)<br />
Form1.Left = (Screen.Width – Form.Width)/2<br />
Form1.Right = (Screen.Height – Form.Height)/2<br />
End Sub<br />
<br />
‘<br />
‘<br />
‘<br />
‘<br />
<br />
Cửa sổ phóng lớn cả màn hình<br />
Đặt màu nền là màu đỏ (4)<br />
Screen.Width: chiều rộng mh<br />
Screen.Height: chiều cao mh<br />
<br />
I.2. Một số phương thức của Form<br />
-<br />
<br />
Show: Hiển thị Form, cú pháp: .Show [Style], Style có thể là 0:<br />
Modeless và 1: Modal<br />
Hide: Không cho Form hiển thị, cú pháp: .Hide<br />
Move: Thực hiện di chuyển Form đến vị trí khác trên màn hình, cú pháp:<br />
Sub Move(Left As Single, [Top], [Width], [Height])<br />
<br />
Các tham số trong cặp [] là phần tùy chọn. Phương thức di chuyển Form đến vị trí<br />
cách bên trái Left, cách trên Top và kích thước thay đổi thành Width và Heigth<br />
Ví dụ: Form1.Move 200, 300, 500, 800<br />
- Line: Là phương thức dùng để vẽ đoạn thẳng. Cú pháp:<br />
Sub Line(X1 As Single, Y1 As Single) - ( X2 As Single, Y2 As Single), Color As Long<br />
<br />
-<br />
<br />
Ä (x1, y1): điểm đầu, (x2, y2): điểm cuối, Color: màu của nét vẽ<br />
Ví dụ: Form1.Line (100, 200)-(300, 400), QBColor(4)<br />
Circle: Là phương thức dùng để vẽ đường tròn, Elíp hoặc cung tròn. Cú pháp:<br />
<br />
Sub Circle(X As Single, Y As Single), Radius As Single, Color As Long, Start As Single,<br />
End As Single, Aspect As Single<br />
<br />
Ä (x , y): là tâm của đường tròn, Radius: bán kính, Color: màu vẽ, Start, End: góc đầu và<br />
góc cuối để vẽ cung tròn, Aspect: sử dụng để vẽ Elíp<br />
<br />
-<br />
<br />
Ví dụ: Form1.Circle(500, 500), RGB(200, 190, 45)<br />
Các phương thức khác: SetFocus (nhận Focus), Refresh (cập nhật lại nội dung trên<br />
Form), ...<br />
<br />
I.3. Một số sự kiện của Form<br />
-<br />
<br />
Click, DblClick: Xảy ra khi người dùng nhắp hoặc nhắp đúp chuột vào Form.<br />
KeyDown, KeyPress, KeyUp: xảy ra khi người dùng nhấn xuống một phím<br />
(KeyDown), nhấn phím ASCII (KeyPress), nhả một phím đã nhấn (KeyUp). Cú<br />
pháp:<br />
Private Sub Command1_KeyDown(KeyCode As Integer, Shift As Integer)<br />
<br />
Ä KeyCode: mã của phím vừa nhấn, Shift: các phím kết hợp Shift, Ctrl, Alt cùng<br />
nhấn, giá trị của Shift cho trong bảng sau:<br />
Giá trị Shift<br />
Tổ hợp phím<br />
1<br />
Shift<br />
TRUNG TÁM PHAÏT TRIÃØN PHÁÖN MÃÖM - ÂAÛI HOÜC ÂAÌ NÀÔNG<br />
<br />
Trang: 32<br />
<br />
GIAÏO TRÇNH LÁÛP TRÇNH VISUAL BASIC<br />
2<br />
Ctrl<br />
3<br />
Shift+Ctrl<br />
4<br />
Alt<br />
5<br />
Shift+Alt<br />
6<br />
Ctrl+Alt<br />
7<br />
Shift+Ctrl+Alt<br />
Hình 28: Mã kết hợp của các phím.<br />
Private Sub Command1_KeyPress(KeyAscii As Integer)<br />
<br />
Ä KeyAscii: chứa mã của phím ASCII vừa được nhấn<br />
Private Sub Command1_KeyUp(KeyCode As Integer, Shift As Integer)<br />
<br />
-<br />
<br />
Ä Các tham số KeyCode và Shift tương tự như sự kiện KeyDown<br />
MouseDown, MouseMove, MouseUp: Xảy ra khi nhấn chuột (MouseDown), di<br />
chuyển chuột (MouseMove) và nhả chuột (MouseUp) trên Form. Cú pháp:<br />
Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)<br />
Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)<br />
Sub Form_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)<br />
<br />
Ä Button: xác định phím chuột được nhấn (1: phím trái, 2 phím phải, 4: phím giữa);<br />
(x,y) là tọa độ nơi xảy ra sự kiện nhấn chuột. Shift: cho biết các phím kết hợp (Shift, Ctrl,<br />
Alt) được nhấn đồng thời với chuột.<br />
- Load, Unload: xảy ra khi nạp Form vào bộ nhớ (Load) và hủy bỏ Form khỏi bộ nhớ<br />
(UnLoad).<br />
Ví dụ: Khi nhắp chuột vào Form1 sẽ xuấn hiện câu thông báo:<br />
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)<br />
MsgBox "Chào bạn! Bây giờ là :" & Time()<br />
End Sub<br />
<br />
II. LABEL (NHÃN)<br />
Dùng để hiển thị các dòng văn bản trên biểu mẫu, thường được sử dụng để chú thích<br />
cho các điều khiển khác:<br />
<br />
Hình 29: Điều khiển Label được dùng kết hợp với các điều khiển khác.<br />
<br />
II.1. Một số thuộc tính của Label<br />
-<br />
<br />
Caption: Nội dung của dòng văn bản trong Label<br />
AutoSize: Cho phép kích thước của Label tự động thay đổi cho phù hợp với Caption.<br />
Alignment: Căn chỉnh nội dung Caption (0: Left, 1: Right, 2: Center)<br />
Font, FontBold, FontItalic: xác định Font để hiển thị nội dung Caption<br />
<br />
TRUNG TÁM PHAÏT TRIÃØN PHÁÖN MÃÖM - ÂAÛI HOÜC ÂAÌ NÀÔNG<br />
<br />
Trang: 33<br />
<br />
GIAÏO TRÇNH LÁÛP TRÇNH VISUAL BASIC<br />
-<br />
<br />
ForeColor, BackColor: xác định màu chữ và màu nền của Label, màu có thể được<br />
xác định bằng các hàm: QBColor(n) và RGB(r, g, b)<br />
<br />
II.3. Một số sự kiện của Label<br />
-<br />
<br />
Label có một số sự kiện Click, DblClick, MouseMove, MouseDown, MouseUp<br />
giống như Form.<br />
<br />
III. TEXTBOX (HỘP VĂN BẢN)<br />
TextBox (thường gọi là hộp văn bản) là nơi chứa các thông tin do người sử dụng nhập<br />
vào từ bàn phím, ngoài ra nó cũng có thể được sử dụng để hiển thị dữ liệu.<br />
<br />
Hình 30: Điều khiển TextBox được dùng để nhập số liệu<br />
<br />
III.1. Một số thuộc tính của TextBox<br />
-<br />
<br />
Text: Nội dung của văn bản xuất hiện trong TextBox<br />
Multiline: Cho phép hiển thị nhiều dòng trong hộp văn bản (True, False)<br />
ScrollBar: Sử dụng các thanh cuộn để xem nội dung TextBox (0: None, 1: Thanh<br />
cuộn ngang, 2: Thanh cuộn dọc, 3: Cả hai thanh cuộn)<br />
Password Char: Sử dụng ký tự xuất hiện thay cho các ký tự trong TextBox, thường<br />
được sử dụng khi dùng TextBox để nhập mật khẩu.<br />
Các thuộc tính khác: Font, ForeColor, BackColor, ...<br />
Các thuộc tính dùng trong CSDL: DataChanged, DataField, DataSource, ...<br />
<br />
III.2. Một số phương thức của TextBox<br />
-<br />
<br />
Move: di chuyển đối tượng TextBox tương tự như đối với Form, cú pháp:<br />
Sub Move(Left As Single, [Top], [Width], [Height])<br />
<br />
- Refresh: Cập nhật lại nội dung của TextBox<br />
- SetFocus: Cho đối tượng nhận Focus (sự quan tâm đến đối tượng).<br />
Ví dụ: Sử dụng phương thức SetFocus trong sự kiện LostFocus để yêu cầu người sử<br />
dụng phải nhập vào TextBox một giá trị ngày tháng:<br />
Private Sub Text1_LostFocus()<br />
If Not IsDate(Text1.Text) Then<br />
MsgBox(“Bạn hãy nhập lại !”)<br />
Text1.SetFocus<br />
Exit Sub<br />
End If<br />
End Sub<br />
<br />
‘<br />
‘<br />
‘<br />
‘<br />
<br />
Nếu nội dung nhập vào không phải là ngày<br />
Thông báo<br />
Cho Text1 nhận Focus<br />
Thoát khỏi sự kiện<br />
<br />
III.3. Một số sự kiện của TextBox<br />
- KeyDown, KeyUp, KeyPress, Click, DblClick: giống với Form, ví dụ sau<br />
Ví dụ 1: Sử dụng sự kiện KeyPress để chỉ cho phép nhập vào TextBox các chữ cái.<br />
TRUNG TÁM PHAÏT TRIÃØN PHÁÖN MÃÖM - ÂAÛI HOÜC ÂAÌ NÀÔNG<br />
<br />
Trang: 34<br />
<br />
GIAÏO TRÇNH LÁÛP TRÇNH VISUAL BASIC<br />
Private Sub Text1_KeyPress(KeyAscii As Integer)<br />
If Not (KeyAscii >= 97 And KeyAscii độ dài tối đa thì thực hiện<br />
nhấn phím Tab bằng cách thực hiện hàm SendKeys “{Tab}”<br />
Private Sub Text1_Change()<br />
If Len(Text1.Text) = Text1.MaxLength Then SendKeys "{Tab}"<br />
End Sub<br />
<br />
- LostFocus: xảy ra khi TextBox mất Focus<br />
Ví dụ: Thay đổi định dạng số bằng hàm Format(...) trong sự kiện LostFocus<br />
Private Sub txtNumber_LostFocus()<br />
On Error Resume Next<br />
txtNumber.Text = Format(CDbl(txtNumber.Text),<br />
"#,###,###,##0.######")<br />
End Sub<br />
<br />
IV. COMMAND BUTTON (NÚT LỆNH)<br />
Command Button là điều khiển nút lệnh cho phép người sử dụng nhắp vào để thực hiện<br />
các công việc. Do khi bị nhắp các nút lệnh thường lún xuống nên có thể gọi là Push Button:<br />
<br />
Hình 31: Điều khiển Command Button được dùng làm nút nhấn.<br />
<br />
TRUNG TÁM PHAÏT TRIÃØN PHÁÖN MÃÖM - ÂAÛI HOÜC ÂAÌ NÀÔNG<br />
<br />
Trang: 35<br />
<br />