Làm việc với các đ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 ...
Trong Visual Basic có ba nhóm điều khiển
- Điềukhiểnnộitạ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ểnActiveX, 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
Thao tác với điều khiển
Hộ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ổ đó.
Đư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, t a g i ữ nút Ct r l và dùng c á c p h í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)
Đ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 h iệu chỉnh kích cỡ của điều khiển, ta giữ phím Shift và dùng c á c p h ím mũi tên trên bàn phím
Lướ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
Khoá(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.
Thuộ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.
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ăngnào đó. |
CheckBox | Cho phép người sử dụng chọn hoặc không chọn một khả năngnào đó |
ComboBox | Cho phép người sử dụng chọn từ danh sách các chọn lựa haynhậ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ểnchứ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àmnơ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 ứngdụ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ềukhả 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.
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
Phâ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.
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,...
Kiể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.
Sự 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.
Đ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ộnhoặ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.
Thuộ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. Khi hộp cuộn vào giá trị lớn nhất, nó dịch chuyển về bên phải hoặc là phía dưới cùng. Tương tự, giá trị trung bình sẽ đặt hộp cuộn vào giữa thanh cuộn.
Điều khiển Timer
Các điều khiển timer đáp ứng với thời gian trôi qua, chúng độc lập với người sử dụng, và ta có thể lập trình với chúng để thi hành một hành động trong các khoảng thời gian đều đặn. Kiểu đáp ứng điển hình là kiển tra giờ hệ thống xem đã đến lúc thi hành nhiệm vụ nào đó chưa.
Mỗi điều khiển Timer có thuộc tính Interval chỉ ra số phần nghìn giây trôi qua giữa hai sự kiện timer. ngoại trừ khi nó bị vô hiệu hoá, timer tiếp tục nhận sự kiện tại các thời khắc bằng khoảng thời gian quy định.
Điều khiển nhãn
Thường đi kèm với hộp văn bản. Bởi vì hộp văn bản không có thuộc tính caption như nút lệnh, nên nhãn làm nhiệm vụ đó. Thường ta chỉ thao tác với nhãn qua vài thuộc tính như gán font chữ, Cption, BorderStyle....
Checkbox:
Một số thuộc tinh thông dụng:
Enable
Viable
Focus
Thứ tự điều khiển (TabIndex)
Đôi khi dung tab để điều khiển thay vì dùng chuột. Thuộctính tabIndex thực hiện điều này.
Hộp danh sách (Listbox).
Biểu tượng danh sách listbox trong toolbox:
Trong thực tế,danh sách rất cần thiết. Một hệ thống nhân sự cần liệt kê các nhóm công việc và tên các phòng ban để đưa các nhân viên vào hệ thống.
Người sử dụng chỉ thấy những gì họ được phép xem. Họ sẽ được phép chọn một hoặc một vài phần tử trong danh sách.
Sắp xếp
VB mặc định các phần tử được sắp xếp theo thứ tự mà chúng được nhập vào danh sách.
Muốn sắp xếp theo thứ tứ ABC ta đổi thuộc tính Sorted thành TRUE, thuộc tính này chỉ được đổi trong khi thiết kế không được đổi trong lúc thi hành.
Nhưng thuọc tính này làm chậm đi quá trình thêm phần tử vào danh sách. Ta có thể thêm phần tử và đồng thời chỉ ra vị trí mầt muốn thêm:
List.AddItem "Zebra",3 (Thêm phần tử có tên là Zebra vào vị trí thứ 4
của danh sách và ListIndex là 3).
Để chắc chắn giá trị dung là hợp lệ ta dung listcount:
NNewPosition=6 If Listcount > 6 Then List.AddItem "Zebra",nNewPosition End If
Thêm một phần tử vào danh sách.
Sử dung lệnh:
List.AddItem <Tên phần tử,Index>
Sử dung lệnh:
List.RemoveItem <Ind>
Biểu tượng hộp kết hợp Combo Box:
Biểu tượng trong tool box:
OLElà tên gọi tắt của Oject Linking and Embedding. Nó cho phép ta nhúng toàn bộ ứng dụng và dư liệu của nó vào chương trình của ta.
- Điều khiển ADO data
- Điều khiển Coolbar
- Điều khiển D ata grid
- Điều khiển Datalist, DataCombo
- Điều khiển DataRepeater
- Điều khiển DataTimePicker
- Điều khiển Flat Scollbar
- Điều khiển Hierarchical FlexGrid
- Điều khiển ImageComBo
- Điều khiển Month View