1.1 Thuộc tính, sự kiện, phương thứcForm và control điều khiển của Visual Basic là các đối tượng với thuộc tính property, phương thức method và sự kiện event.. Thuộc tính là các đặc điểm
Trang 1• Tab order (Thứ tự Tab)
• Dialog box (hộp hội thoại)
Trang 21.1 Thuộc tính, sự kiện, phương thức
Form và control (điều khiển) của Visual Basic là các đối tượng với thuộc tính (property), phương thức (method) và sự kiện (event) Thuộc tính là các đặc điểm qui định đối tượng, phương thức là các hành động và sự kiện là
sự đáp ứng tác động gắn với mỗi đối tượng
Quả bóng bay là 1 đối tượng Nó có các thuộc tính như các thuộc tính trực
quan: “độ cao”, “đường kính”, “màu sắc” Các thuộc tính khác như thuộc
tính mô tả trạng thái quả bóng (“căng tròn” hay chưa), hay các thuộc tính khác như thời gian sản xuất Mọi quả bóng bay đều có đầy đủ tập thuộc tính trên; nhưng với mỗi quả bóng, giá trị cụ thể các thuộc tính đó là khác nhau
Quả bóng bay có sẵn các phương thức hay hành động mà nó có thể thực hiện Nó có phương thức: “bơm” (hành động bơm hơi vào quả bóng), “xì” (xì hơi chứa bên trong), “bay” (bay lên cao nếu được thả ra)
Quả bóng bay cũng có sẵn cách trả lời cho những sự kiện bên ngoài nhất định Ví dụ: 1 quả bóng sẽ đáp ứng lại sự kiện bị châm thủng bằng cách xì hơi, hay sự kiện được thả ra bằng cách bay cao
Nếu lập trình 1 quả bóng, đoạn mã lệnh trong Visual Basic sẽ có dạng sau:
Phương thức của 1 quả bóng có thể được gọi như sau:
Balloon.Inflate
Trang 41.2 Form
Đối tượng form là thành phần cơ sở của 1 chương trình viết bằng Visual
tính, sự kiện, phương thức
Bước đầu tiên trong thiết kế form là đặt giá trị các thuộc tính Thuộc tính có
thể đặt giá trị tại thời điểm thiết kế (design time) bằng tay, hay khi chạy
chương trình (run time) bằng mã lệnh.
1.2.1 Đặt giá trị thuộc tính cho form
Form có nhiều thuộc tính qui định hình thức như: Caption, Icon,
MaxButton, MinButton, BorderStyle, Height, Width, Left, Top, WindowState,
Thuộc tính Name đặt tên cho form - đó là tên biến được sử dụng để thao
tác với form khi lập trình (ví dụ: frmEntry)
Chúng ta có thể tìm hiểu về từng thuộc tính bằng cách chọn thuộc tính rồi nhấn F1 để hiển thị trợ giúp ngữ cảnh
Trang 51.2.2 Phương thức và sự kiện của form
Như mọi đối tượng, form thực hiện các phương thức và đáp ứng các sự kiện
Sự kiện Resize được kích hoạt khi kích cỡ form bị thay đổi
Sự kiện Activate được kích hoạt khi form được gọi
Deactivate được gọi khi 1 form hay 1 ứng dụng khác được gọi
tenform.Show
trị True
Có nhiều phương thức của form làm việc với văn bản và hình ảnh như:
Print, Line, Circle, Refresh giúp in hay vẽ trực tiếp lên
bề mặt form
Trang 61.3 Command button
Command button (nút lệnh) cho phép người sử dụng nhấn vào để thực
hiện 1 hành động Khi người dùng nhấn vào nút lệnh, thủ tục sự kiện
Click được gọi Lập trình viên viết lệnh vào thủ tục sự kiện Click để thực
hiện hành động mong muốn
Có nhiều cách để chọn 1 command button:
• Nhấn chuột vào command button
• Dùng phím Tab chuyển tới command button, rồi ấn SPACEBAR hay
ENTER
• Nhấn <ALT+ chữ cái được gạch chân>
• Dùng mã lệnh thay đổi thuộc tính Value:
cmdClose.Value = True
• Gọi thủ tục sự kiện Click:
cmdClose_Click
• Nếu command button là command button mặc định trên form, nhấn
ENTER khi không có nút lệnh nào đang được chọn Lúc thiết kế, chúng ta đặt command button mặc định bằng cách thay đổi giá trị
thuộc tính Default thành True.
• Nếu command button là Cancel button mặc định trên form, nhấn
ESC Lúc thiết kế, chúng ta đặt Cancel button mặc định bằng cách
thay đổi giá trị thuộc tính Cancel mặc định thành True
Tất cả các cách trên khiến Visual Basic gọi thủ tục sự kiện Click
1.4 Label
Label (nhãn) hiển thị văn bản mà người dùng không thể trực tiếp thay đổi
Ta có thể sử dụng label để định danh các control không có thuộc tính Caption, chẳng hạn text box và scroll bar Văn bản được hiển thị trong một
Trang 7label được điều khiển bởi thuộc tính Caption, thuộc tính này có thể được
đặt khi thiết kế tại cửa sổ Properties hay khi chạy bằng cách gán trị cho nó trong mã chương trình
Mặc định, caption là phần duy nhất nhìn thấy được của label Ngoài ra, các
thuộc tính khác, như BackColor, BackStyle, ForeColor, và Font, quy định
hiển thị của label
Labels có 2 thuộc tính giúp văn bản trong nó phù hợp với kích cỡ của:
AutoSize and WordWrap.
Đặt AutoSize=True khiến nhãn tự thay đổi kích cỡ để vừa với nội dung trong thuộc tính Caption
WordWrap khiến lable thay đổi kích cỡ theo chiều dọc để chứa hết văn bản
Trang 8Chú ý: WordWrap chỉ có hiệu lực khi AutoSize cũng đã được đặt là True.
Trang 91.5 Text box
Text box (hộp soạn thảo) dùng để nhập dữ liệu từ người dùng hay hiển thị
dữ liệu Tuy nhiên, không nên dùng Textbox để hiển thị dữ liệu không được
thay đổi bởi người dùng nếu như không đặt thuộc tính Locked là True.
Văn bản thực sự hiển thị được lưu trong thuộc tính Text Chúng ta có
thể đặt văn bản vào textbox hay đọc nội dung qua thuộc tính Text này.
giúp hiển thị văn bản trong Textbox khi có nhiều dòng
Private Sub Form_Load ()
Text1.Text = "Here are two lines" _
& vbCrLf & "in a text box"
Trang 111.6 Check box
Check box (hộp đánh dấu) được dùng để đưa ra lựa chọn đúng/sai, có/không cho người sử dụng
1.6.1 Chương trình ví dụ về Check box
Giao diện chương trình gồm text box, label, command button, và 2 check box
Trang 12Danh sách đối tượng và thuộc tính đặt như sau:
Đối tượng Thuộc tính Giá trị
Caption
frmCheckCheck Box Example
Text
txtDisplaySome sample text
Caption
cmdClose
&Close
Mã lệnh các thủ tục sự kiện:
Private Sub chkBold_Click ()
If ChkBold.Value = vbChecked Then ' If checked.
Private Sub chkItalic_Click ()
If ChkItalic.Value = vbChecked Then ' If checked.
Private Sub CmdClose_Click()
End
End Sub
Trang 131.7 Option Button và nhóm Option Button
Option button (nút tuỳ chọn) được dùng theo nhóm được cho phép người dùng chọn 1 trong số nhiều lựa chọn
1.7.1 Tạo nhóm Option Button
Tất các option button được đặt trực tiếp lên form tạo thành 1 nhóm Nếu muốn tạo thêm các nhóm, những option button thuộc nhóm mới phải được
Người dùng chỉ có thể chọn 1 tuỳ chọn trong mỗi nhóm
Trang 14Nhóm các control trong 1 frame
1. Chọn frame control trên toolbox và vẽ lên form
2. Chọn option button control trên toolbox vẽ vào trong frame
3. Làm lại bước 2 cho mỗi option button cần đặt trong frame
Nếu chúng ta đã có sẵn các control muốn nhóm gộp vào trong 1 frame, hãy chọn các control đó rồi cắt và dán chúng vào trong frame hay picture control
Đối tượng chứa các control
Tuy mỗi control và 1 đối tượng độc lập, quan hệ cha-con tồn tại giữa form
và control Ví dụ: các option button được chứa trong 1 frame, và frame này được chứa trong 1 form
Thực sự, mỗi khi vẽ 1 control lên form, mỗi control thường chứa 1 thuộc tính Parent chỉ tới form mà control được đặt trên
Các thuộc tính Left và Top chẳng hạn sẽ xác định vị trí tương đối của control trong form cha
1.7.2 Chương trình ví dụ về Options
Xây dựng chương trình với giao diện:
Trang 15Bảng các đối tượng và thuộc tính:
Đối tượng Thuộc tính Giá trị
Caption
LblDisplay(Empty)Command button Name
opt586
&Pentium True
Caption
opt686P&entium Pro
Caption Value
optWinNTWindows NT True
lblDisplay.Caption = "You selected a " & _
strComputer & " running " & strSystem
End Sub
Trang 161.8 List box và Combo box
Listbox (hộp danh sách) và combo box (hộp kéo thả) sử dụng để liệt kê các lựa chọn cho người dùng
Listbox và combox, khác với text box,
chứa nhiều giá trị Hai control này có sẵn các phương thức để thêm, bớt, lấy giá trị từ chúng Đoạn lệnh sau thêm 3 giá trị và 1 list box:
lstCity.AddItem "Paris"
lstCity.AddItem "New York"
lstCity.AddItem "San Francisco"
Trang 171.9 Các control khác
• Picture Box Control: Hiển thị kết quả của chương trình, ngoài ra còn
hiển thị hình ảnh qua thuộc tính Picture chứa tên tệp ảnh và đường dẫn
picMain.Picture = LoadPicture("VANGOGH.BMP")
Picture box cũng được dùng như đối tượng chứa các control khác
• Lightweight Graphical Control: Các control image, shape và line được
gọi là các lightweight controls; chúng hỗ trợ 1 tập các các propertie, method, và events của picture box Do đó, chúng cần ít tài nguyên máy tính và sẽ được nạp nhanh hơn picture box
Chương trình ví dụ sử dụng Image control
Tạo chương trình với giao diện sau (xem Images.frm trong Controls.vbp tại thư mục Samples)
• Các đối tượng truy nhập CSDL (Data Access Control)
• ADO Data control
• DataList control
• DataCombo control
• DataGrid
• Microsoft FlexGrid control, Hierarchical FlexGrid control
• Các đối tượng Hệ thống tệp (File System Control)
Trang 18• OLE container control
• Common dialog control
Trang 191.10 Focus
Focus là khả năng được nhận input của người dùng từ chuột hoặc bàn phím Trong giao diện Microsoft Windows, vài ứng dụng có thể cùng chạy trong cùng thời điểm, nhưng chỉ ứng dụng có focus sẽ có title bar ở trạng thái hoạt động và có thể nhận input của người dùng Trên một form Visual Basic với một số text box, chỉ text box có focus hiện văn bản gõ vào từ bàn phím
tượng nhận hoặc mất focus Form và hầu hết các control hỗ trợ các sự kiện này
Sự kiện Mô tả
sự kiện LostFocus thường được dùng để thẩm định
và kiểm định các cập nhật, hoặc để đảo/đổi điều kiện
ta đặt trong thủ tục GotFocus của đối tượng
Ta có thể gán focus cho 1 đối tượng bằng cách:
• Chọn đối tượng trong khi chạy
• Sử dụng một access key (ví dụ: tab) để chọn đối tượng trong khi chạy
Một đối tượng chỉ có thể nhận focus khi các thuộc tính Enabled và Visible của nó có giá trị True Thuộc tính Enabled cho phép đối tượng hưởng ứng các sự kiện do người dùng gây ra (bằng chuột hoặc bàn phím)
Trang 20Thuộc tính Visible quyết định xem đối tượng có được hiện trên màn hình hay không.
Lưu ý Một form chỉ có thể nhận focus nếu nó không chứa control có thể
nhận focus
1.10.1Sự kiện Validate của các control
Sự kiện Validate (kiểm tra) của control cũng xảy ra trước khi nó mất focus Tuy nhiên, sự kiện này chỉ có thể xảy ra nếu thuộc tính
CausesValidation của control nhận focus có giá trị True Trong nhiều trường hợp, do sự kiện Validate xảy ra trước khi mất focus, dùng sự kiện này cho việc thẩm định dữ liệu thích hợp hơn LostFocus
1.10.2Control không thể nhận focus
Một số control, chẳng hạn lightweight control, không thể nhận focus Các lightweight control bao gồm:
Trang 211.11 Đặt Tab Order
Tab order (thứ tự Tab) là thứ tự mà người dùng di chuyển từ control này
sang control khác bằng cách nhấn phím TAB Mỗi form có một tab order của riêng nó Thông thường, tab order là thứ tự ta tạo các control
Để thay đổi tab order cho một control, đặt thuộc tính TabIndex Thuộc tính TabIndex của một control quyết định vị trí của nó trong tab order Mặc định, control đầu tiên được vẽ có TabIndex bằng 0, cái thư hai có TabIndex bằng 1,
1.11.1 Bỏ một control ra khỏi Tab Order
Ta có thể bỏ một control ra khỏi tab order bằng cách đặt thuộc tính
TabStop bằng False (0).
Trang 22Một control có thuộc tính TabStop bằng False giữ nguyên
vị trí trong tab order.
Chú ý: Một nhóm các option button có một
tabstop duy nhất Nút được chọn (button có Value bằng
True, trong khi đó, các nút khác có TabStop bằng False
Trang 23Standard dialog box, chẳng hạn Print và File Open, có thể được tạo từ
common dialog control