1 Làm việc với các điều khiển
1.1 Các loại điều khiển
Trong Visual Basic có ba nhóm điều khiển
• Điều khiển nội tại, ví dụ như là các điều khiển nút lệch và khung. Các điều khiển
này được chứa trong các tập tin. EXE của Visual Basic. Các điều khiển nội tại luôn
chứa sẵn trong hộp công cụ, ta không thể gỡ bỏ hay thêm chúng vào hộp công cụ
• Điều khiển ActiveX, tồn tại trong các tập tin độc lập có phần mở rộng là. OCX.
Chúng có thể đưa ra các điều khiển hiện diện trong mọi ấn bản của Visual Basic(ví
dụ DataCombo, Datalist,....) hoặc là các điều khiển chỉ hiện diện trong ấn bản
Professional và Enterprise(như ListView,Toolbar,Animation ). Ngoài ra, còn rất nhiều
điều khiển ActiveX do các nhà cung cấp thứ ba đưa ra
• Đối tượng chèn được, ví dụ như đối tượng bảng tính (Worksheet) của Microsoft
Excel chứa một danh sách các nhân viên của một công ty hay đối tưọng lịch biểu
(Calendar) của Microsoft Project chứa việc lập biểu thông tin cho một đề án. Bởi vì
chúng có thể thêm vào hộp công cụ, chúng có thể là các điều khiển được chuẩn bị
chu đáo. Một vài đối tượng kiểu này cũng cung cấp phần Automation lập trình với
các đối tượng sinh ra từ những ứng dụng khác ngay trong ứng dụng của Visual Basic.
Xem phần “Lập trình với các đối tượng” để biết thêm thông tin về Automation
1.1.1 Thao tác với điều khiển
1.1.1.1Hộp công cụ
Để đặt một hộp văn bản hay nút lệch vào biểu mẫu, đơn giản là trỏ và nhấn chuột. Tất cả các điều
khiển nội tại chứa trong hộp công cụ (toolbox) thường hiển thị ở bên trái màn
hình.
Muốn hiển thị hộp công cụ, từ menu View, chọn Toolbox hoặc là nhấn
chuột trên biểu tượng (icon). Khi hộp công cụ hiển thị, ta có thể dịch chuyển
hộp công cụ xung quanh màn hình bằng cách nhấn thanh tiêu đề của nó(title
bar) rồi giữ chuột và kéo tới nơi ta muốn và thả ra
Muốn đóng hộp công cụ, nhấn chuột lên nút đóng(nằm trên góc phải
của thanh tiêu đề ).
Ngoài hộp công cụ, ta cũng cần xem một số cửa sổ tương tự phục vụ cho
việc thiết kế ứng dụng như Gỡ rối chương trình(Debug), viết chưong trình
(Edit), thiết kế biểu mẫu(Form Editor). Để hiển thị các cửa sổ này, nhấn nút
phải chuột trên thanh công cụ(tool bar), ta sẽ thấy một menu theo ngữ
cảnh(context sensitive menu), chọn trong menu cửa sổ mà ta muốn xem.
Các cửa sổ này có thể hiển thị theo hai cách: trôi nổi và cố định. Hai cách
này có thể chuyển đổi qua lại bằng cáh nhấn đúp chuột trên thanh tiêu đề
của cửa sổ đó.
1.1.1.2Đưa điều khiển vào biểu mẫu
Ta lấy nút lệch làm ví dụ.
a. Từ menu File, chọn New Project để tạo một đề án mới.
b. Trong hộp thoại New Project, chọn Standard EXE
c. Một biểu mẫu trống hiển thị. Để đưa nút lệch vào biểu mẫu, ta nhấn chuột
vào biểu tượng nút lệch trên hộp công cụ.
Khi chọn trong hộp công cụ, nếu không nhớ tên điều khiển, ta có thể đưa
chuột ngang qua từng biểu tượng, tên của nó sẽ hiện ra.
Dời con trỏ màn hình tới vị trí ta muốn, vẽ điều khiển bằng cách giữ nút trái chuột và rê nó đi.
Một hình chữ nhật xuất hiện, thể hiện kích cỡ của điều khiển. Khi ta đã vừa ý, ta thả chuột và điều
khiển được vẽ trên biểu mẫu.
Ta có thể nhấn vào điều khiển và rê nó đến vịt trí ta muốn
Nếu muốn hiệu chỉnh vị trí của điều khiển, ta giữ nút Ctrl và dùng các phím mũi tên trên bàn phím. Mỗi lần nhấn
phím, điều khiển dịch chuyển đi một đơn vị màn hình(một điểm trên biểu mẫu)
1.1.1.3Điều chỉnh kích cỡ điều khiển
Thông thường, khi ta thả một điều khiển vào biểu mẫu, ta có thể điều chỉnh kích cỡ điều khiển
bằng cách chọn vào nó rồi nhấn chuột lên cạch biên và rê chuột đi. Tuy nhiên, một vài điều khiển
không thể co giãn, ví dụ như hộp kết hợp(combo box)
Có thể nhấn đúp chuột lên biểu tượng trong hộp công cụ, Visual Basic sẽ tự động thả điều
khiển vào biểu mẫu với kích thước mặc định của nó.
Nếu muốn hiệu chỉnh kích cỡ của điều khiển, ta giữ phím Shift và dùng các phím mũi tên trên bàn phím
1.1.1.4Lưới(grid) điểm trong biểu mẫu
Để tạo sự thuận tiện cho lập trình viên khi thiết kế các điều khiển, Visual Basic hiển thị biểu
mẫu với các khung kẻ thẳng hàng bằng các điểm nhỏ. Ta có thể sửa lại kích cỡ hoặc là loại bỏ hẳn
các ô này bằng cách: từ menu Tool, chọn Option, chon tab General
1.1.1.5Khoá(Lock) điều khiển
Để giữ các điều khiển cố định tại vị trí của nó, ta dùng tính năng Lock.
Chọn điều khiển, sau đó, từ menu Format, chọn Lock Controls hoặc là nhấn chuột vào biểu
tượng vào biểu tượng ô khoá trên Form Editor.
Khi đó, ta không thể dùng chuột để điều chỉnh kích cỡ điều khiển. Tuy vậy, ta vẫn có thể dùng
tổ hợp phím.
1.1.1.6Thuộc tính và sự kiện
a. Thuộc tính (Property): là bộ các thông số mà ta có thể gán cho điều khiển,
ví dụ như tên, chiều rộng, chiều cao,.... Ta có thể xem toàn bộ thuộc tính của điều khiển
bằng cách chọn vào nó và nhấn F4 để mở cửa sổ thuộc tính
b. Phương thức(Method): là những phản ứng của điều khiển
c. Sự kiện(Event): là những tín hiệu mà điều khiển có thể hiểu để phản ứng
Thế mạnh của Visual Basic là sử dụng các điều khiển và tận dụng tối đa khả năng lập trình của
chúng
Một điều khiển thực chất là một cửa sổ được lập trình sẵn bên trong. Không có gì khác nhau
giữa một ứng dụng và một điều khiển. Để thi hành một ứng dụng, ta mở một cửa sổ. Ứng dụng sẽ
chiếm điều khiển trên cửa sổ đó và hoạt động thông qua giao diện cũng như các chức năng của nó.
Một điều khiển cũng thực hiện tương tự như vậy.
Một điều khiển chứa đựng một một chương trình được lập sẵn và chương trình này có thể tích
hợp một cách dễ dàng vào ứng dụng có sử dụng điều khiển. Để thi hành một ứng dụng, ta mở cửa
sổ. Ứng dụng sẽ chiếm điều khiển trên cửa sổ đó và hoạt động thông qua giao diện cũng như các
chức năng của nó. Một điều khiển cũng thực hiện tương tự như thế.
Một điều khiển chứa đựng một chương trình được lập sẵn và chương trình này có thể tích hợp
một cách dễ dàng vào ứng dụng có sử dụng điều khiển. Trước đây, lập trình viên thường phải tự
xây dựng toàn bộ mo-dun cần thiết cho chương trình. Điều này có nghĩa là các lập trình viên khác
cũng phải lặp lại công việc đó. Trong khi đó, PC được câu tạo từ vô só thành phần được cung cấp
bởi nhiều nhà sản xuất khác nhau, mỗi thành phần có một công dụng đặc biệt. Khái niệm điều
khiển của Visual Basic cũng mang ý tưởng như thế. Từng điều khiển có thể được hiệu chỉnh và
được tích hợp lại với nhau tạo thành một ứng dụng.
So với các điều khiển có sẵn trong hộp công cụ, một điều khiển hiệu chỉnh (custom control), hay
một điều khiển ActiveX là một thành phần có khả năng phát huy cao hơn và sâu hơn các tính năng
hiện tại của môi trường. Bằng cách thêm một điều khiển ActiveX vào hệ thống, ta đã mở rộng
năng lực và tiện ích của môi trường Visual Basic. Chỉ cần cài đặt một bản Visual Basic duy nhất,
mỗi lập trình viên có quyền thêm những điều khiển mà họ thích vào hộp công cụ.
Vì là những điều khiển ActiveX nên chúng có thể được dùng lại một cách dễ dàng bởi các ứng
dụng ActiveX như là bộ Office, trình duyệt Web Internet Explorer,...Các điều khiển này được cung
cấp bởi các nhà sản xuất phần mềm. Chúng có thể là một sản phẩm thương mại hoặc được tải
xuống miễn phí từ Internet.
1.2 Các điều khiển nội tại
Các điều khiển nội tại gồm có:
Điều khiển Mô tả
Label Hiển thị chuỗi ký tự không đổi trên biểu mẫu
Frame Cho phép người sử dụng chọn hoặc không chọn một khả năng
nào đó.
CheckBox Cho phép người sử dụng chọn hoặc không chọn một khả năng
nào đó
ComboBox Cho phép người sử dụng chọn từ danh sách các chọn lựa hay
nhập liệu mới
HscrollBar Cho phép người dùng sử dụng cuộn ngang qua một điều khiển
chứa dữ liệu khác
Timer Cho phép chương trình tự động thi hành một công việc nào đó
vào một thời điểm, không cần tương tác của người sử dụng.
DirListBox Cho phép người sử dụng chọn một thư mục
Shape Hiển thị một dạng hình học trên biểu mẫu
Image Hiển thị hình ảnh đồ hoạ trên biểu mẫu nhưng không thể làm nơi
chứa
OLE Container Cho phép thêm chức năng lập trình của một điều khiển vào ứng
dụng
PictureBox Hiển thị hình anh trên biểu mẫu và có thể dùng làm nơi chứa.
TextBox Dùng trình bày văn bản, nhưng cũng cũng cho phép người sử
dụng sửa đổi hay thêm mới văn bản
CommandButton Cho phép người sử dụng thực hiện một hành động
OptionButton Cho phép ngưới sử dụng chọn lựa từ một nhóm có hai hay nhiều
khả năng trở lên.
ListBox Cho phép người sử dụng chọn từ danh sách các phần tử
VscrollBar Cho phép người sử dụng cuộn dọc qua một điều khiển chứa dữ
liệu khác
DriveListBox Cho phép người sử dụng chọn ổ đĩa
FileListBox Cho phép người sử dụng chọn một tập tin
Line Hiển thị một đoạn thẳng trên biểu mẫu
Data Cho phép lập trình để kết nối dữ liệu
Sau đây, ta sẽ tìm hiểu về các điều khiển nội tại phổ biến nhất. Các điều khiển không được đề
cập đến trong chương này, do những khả năng đặc biệt riêng của nó, sẽ được dành trình bày trong
các chương riêng phía sau.
1.2.1 Nút lệnh
a. Phương thức: Click
b. Sự kiện: MouseDown, KeyDown
c. Thuộc tính: Height,Font,BackColor,Caption, ShortcutKey
Đặt tên( thuộc tính Name) cho nút lệch thường bắt đầu bằng cmd. Ví dụ như cmdQuit, tương
tự với hộp văn bản là txt, với biểu mẫu là frm, với nút tuỳ chọn là opt, v.v..Trong trường hợp
dùng mảng điều khiển, tất cả các nút lêch có cùng tên.
Khi đặt tên cho điều khiển, ta cần tuân theo một số quy tắc. Điều này sẽ giúp chương trình của ta trở nên sáng
sủa, dễ đọc, nhất là khi cần gỡ rối chương trình hoặc ta cần đọc lại chương trình sau vài tháng
1.2.1.1Phân biệt hai thuộc tính Caption và Text
a. Caption: Dùng cho các đối tượng như biểu mẫu, khung, nút lệnh, thường để hiển thị tiêu
đề cho đối tượng.
b. Text: Dùng cho những điều khiển thuộc loại nhận dữ liệu do người dùng nhập vào, như
hộp văn bản, hộp kết hợp.
Ngoài ra ta có thể quy định phím nóng cho các điều khiển có thuộc tính Caption, bằng cách đặt
dấu & kế bên kí tự. Ví dụ &Thoát.
1.2.2 Hộp văn bản
Là một điều khiển rất thông dụng dùng để nhận dữ liệu từ người sử dụng cũng như hiển thị dữ
liệu trên màn hình. Visual basic và Windows tự động xử lý những hoạt động như hiển thị ký tự khi
Người sử dụng gõ vào, chèn và xoá ký tự, cuốn dữ liệu, đánh dấu văn bản, cắt dán,...
1.2.2.1Kiểm tra giá trị nhập
Hộp dữ liệu không tự kiểm tra dữ liệu nhập vào, lập trình viên phải làm viẹc đó. Mặc định, hộp
văn bản nhận và hiển thị mọi ký tự mà Người sử dụng nhập vào, kể cả khi ta muốn gõ mật khẩu
hoặc hcỉ muốn nhận con số. Nếu ta đổi thuộc tính MaxLength thành một con số, ví dụ 5, ta chỉ
nhập được 5 lý tự. Nếu đổi MaxLength về 0 thì ta có thể nhập tuỳ thích.
1.2.2.2Sự kiện KeyPress
Sự kiện này được phát ra khi Người sử dụng gõ vào hộp văn bản.
Mỗi ký tự trên bàn phím có một con số duy nhất, gọi là mã ASCII. Ta có thể xem toàn bộ bảng
mã này trong cửa sổ help.
1.2.3 Điều khiển thanh cuộn
Thanh cuộn(Scroll bar) cho phép duyệt dễ dàng qua một danh sách dài gômd nhiều phần tử
hoặc một lượng lớn thông tin bằng cách cuộn ngang hoặc cuộn dọc ở trong ứng dụng hay điều
khiển. Đây là một điều khiển thông dụng của Windows.
Điều khiển thanh cuộn dùng sự kiện Scroll và Change để theo dõi sự dịch chuyển của hộp cuộn
trên thanh cuộn.
Sự kiện Mô tả
Change Xảy ra sau khi hộp cuộn dịch chuyển
Scroll Xảy ra khi hộp cuộn dịch chuyển. Không xảy ra nếu mũi tên cuộn hoặc thanh
cuộn được nhấn.
Sử dụng sự kiện Scroll cho phép truy cập đến giá trị thanh cuộn khi nó được kéo đi. Sự kiện Change xảy ra sau
khi hộp cuộn được nhả hay là khi thanh cuộn hoặc mũi tên cuộn được nhấn.
1.2.3.1Thuộc tính Value
Thuộc tính Value (mặc định là 0) là một số nguyên tương ứng với vị trí của hộp cuộn trong
thanh cuộn. Khi hộp cuộn ở vào giá trị nhỏ nhất nó dịch chuyển về bên trái, hay phía trên cùng.