Giáo trình Visual Basic .NET
Khoa Công nghệ Thông tin - LHU
MỤC LỤC
Chương 1: TỔNG QUAN VỀ VISUAL BASIC .NET ............................................. 3
1.1. Cài đặt Visual Studio .NET .......................................................................................... 3
1.2. .NET Framework ........................................................................................................... 5
1.3. Bắt đầu dự án mới .......................................................................................................... 9
1.4. Viết chương trình Visual Basic đầu tay .................................................................... 12
1.5. Chạy chương trình ứng dụng Visual Basic .NET .................................................... 13
Chương 2: BIỂU MẪU VÀ MỘT SỐ ĐIỀU KHIỂN THÔNG DỤNG .................. 15
2.1. Các khái niệm ............................................................................................................... 15
2.2. Biểu mẫu (Form) .......................................................................................................... 17
2.3. Nhãn (Label) ................................................................................................................. 19
2.4. Nút lệnh (Command Button) ...................................................................................... 20
2.5. Ô nhập liệu (Textbox) ................................................................................................. 22
2.6. Các thuộc tính, phương thức cơ bản của các Control.............................................. 24
2.7. Bảng điều khiển (Control Panel)................................................................................ 24
2.8. Khung (GroupBox) ...................................................................................................... 25
Chương 3: LẬP TRÌNH CẤU TRÚC TRONG VISUAL BASIC .......................... 27
3.1. Môi trường lập trình .................................................................................................... 27
3.2. Kiểu dữ liệu .................................................................................................................. 30
3.3. Hằng số .......................................................................................................................... 31
3.4. Biến ................................................................................................................................ 31
3.5. Biểu thức ....................................................................................................................... 32
3.6. Các hàm xây dựng sẵn................................................................................................. 33
3.7. Câu lệnh ........................................................................................................................ 34
3.8. Chương trình con và truyền tham số ......................................................................... 46
3.9. Kiểu Mảng .................................................................................................................... 50
3.10. Kiểu do người dùng định nghĩa - Kiểu mẩu tin ....................................................... 53
Chương 4: MẢNG CONTROL TRONG VISUAL BASIC ................................... 54
4.1. Tạo và thêm một Control mới vào đối tượng ........................................................... 54
4.2. Tạo và thêm một mảng Control mói vào đổi tượng Container .............................. 56
4.3. Truy xuất đến phần tử bên trong đổi tượng Container ............................................ 60
4.4. Xóa phần tử bên trong đổi tượng Container ............................................................. 60
Chương 5: CÁC CONTROL MỞ RỘNG ............................................................. 61
5.1. Danh sách các lựa chọn (List Box) ............................................................................ 61
5.2. Hộp lựa chọn (Combo Box) ....................................................................................... 64
5.3. Hộp đánh dấu (Check Box) ........................................................................................ 66
5.4. Nút lựa chọn (RadioButton) ....................................................................................... 67
Biên soạn: ThS. Nguyễn Vũ Duy Quang
Trang 1
Giáo trình Visual Basic .NET
Khoa Công nghệ Thông tin - LHU
5.5. Thanh cuộn (ScrollBar) ............................................................................................... 68
5.6. Thời gian (Timer) ......................................................................................................... 70
5.7. DataGridView .............................................................................................................. 72
5.8. DatetimePicker ............................................................................................................. 73
5.9. SplitContainer ............................................................................................................... 74
5.10. ListView ........................................................................................................................ 75
5.11. TreeView ....................................................................................................................... 76
5.12. RichTextbox ................................................................................................................. 77
5.13. NotifyIcon ..................................................................................................................... 78
5.14. Điều khiển danh sách ổ đĩa (DriveListbox), danh sách thư mục (DirListbox),
danh sách tập tin (FileListbox) .............................................................................................. 78
Chương 6: MENU – DIALOG – TOOLBAR........................................................ 81
6.1. Menu – MenuStrip (Dropdown Menu) ..................................................................... 81
6.2. Menu – ContextMenuStrip (PopUp Menu) .............................................................. 82
6.3. Hộp thoại ....................................................................................................................... 83
Chương 7: QUẢN LÝ TẬP TIN VÀ THƯ MỤC .................................................. 90
7.1. Làm việc với thư mục .................................................................................................. 90
7.2. Làm việc với tập tin ..................................................................................................... 92
Chương 8: USER CONTROL – DLL VÀ ĐÓNG GÓI ỨNG DỤNG .................. 102
8.1. User Control ............................................................................................................... 102
8.2. DLL.............................................................................................................................. 104
8.3. Đóng gói chương trình .............................................................................................. 105
Biên soạn: ThS. Nguyễn Vũ Duy Quang
Trang 2
Giáo trình Visual Basic .NET
Chương 1:
Khoa Công nghệ Thông tin - LHU
TỔNG QUAN VỀ VISUAL BASIC .NET
Mục tiêu:
Giới thiệu về môi trường phát triển Visua Basic .NET, giúp cho sinh viên có cái
nhìn tổng quan về VB .NET
Kết thúc chương nắm bắt các vấn đề sau:
Sử dụng môi trường VB .NET để phát triển một số ứng dụng cơ bản
Cách tạo dự án mới trong VB .NET
1.1.
Cài đặt Visual Studio .Net
Cấu hình tối thiểu: CPU Pentium III, 500MHz trở lên, với 256 MB RAM và ít nhất
10GB Harddisk. Hệ điều hành: Window 2000, XP, Vista, 7. Lý do chính là các versions
Windows này hỗ trợ Unicode và có Internet Information Server (IIS) hổ trợ ASPX để ta
dùng cho ASP.NET.
Visual Studio.NET nằm trong 3 CDs, gồm có 4 files:
• EN_VS_NET_BETA2_WINCUP.exe
• EN_VS_NET_BETA2_CD1.exe
• EN_VS_NET_BETA2_CD2.exe
• EN_VS_NET_BETA2_CD3.exe
Chạy EN_VS_NET_BETA2_WINCUP.exe để Unzip nó vào một folder trong một
harddisk (eg: E:\CD\WINCUP) .
Lần lượt chạy EN_VS_NET_BETA2_CD1.exe, EN_VS_NET_BETA2_CD2.exe và
EN_VS_NET_BETA2_CD3.exe để Unzip chúng vào chung một folder trong một
harddisk (eg: E:\CD ).
Việc Unzip files có thể rất lâu, bạn phải kiên nhẫn chờ cho đến khi nó kết thúc. Nếu
không, khi cài đặt có thể bị báo lỗi là thiếu files.
Kế đó, trước hết chạy Setup.exe của Windows Component Update như dưới đây,
click No khi Warning dialog
hiện ra:
Tiếp theo, chạy Setup.exe của Visual Studio.NET để cài đặt. Đây là Visual
Studio .Net 2003
Cài đặt Visua Studio .Net 2005. Phiên bản này có 3 đĩa CD. Ta cũng chạy các file
trên 3 đĩa để giải nén vào một thư mục trên ổ đĩa cứng. Sau khi giải nén xong sẽ có hai
Biên soạn: ThS. Nguyễn Vũ Duy Quang
Trang 3
Giáo trình Visual Basic .NET
Khoa Công nghệ Thông tin - LHU
thư mục chính: thư mục VS (chứa các file cài đặt bộ Visual Studio .Net 1.17GB) và thư
mục MSDN (chứa các thư viện hỗ trợ cho việc sử dụng Visual Studio .Net 1.55GB).
Để cài đặt ta vào thư mục VS chạy file Setup.exe để cài đặt, quá trình cài chiếm một
khoảng thời gian tùy vào cấu hình máy (trung bình từ 15 – 20 phút).
Sau một số bước lựa chọn bắt buộc sẽ đến 1 giao diện của phần mềm cho phép
người dùng lựa chọn gói cài đặt. Những lựa chọn trên giao diện này ảnh hưởng đến kích
Biên soạn: ThS. Nguyễn Vũ Duy Quang
Trang 4
Giáo trình Visual Basic .NET
Khoa Công nghệ Thông tin - LHU
thước lưu trữ trên đĩa cứng cũng như các bộ công cụ hổ trợ liên quan. Thời gian cài đặt
nhanh hay chậm phụ thuộc vào gói được chọn cài đặt.
Kết thúc quá trình cài đặt ta có thể cài đặt thêm bộ thư viện MSDN hổ trợ người lập
trình viên trong quá trình xây dựng dự án.
Câu hỏi:
Nêu sự khác nhau giữa các gói cài đặt là Default, Full và Custom?
Bộ thư viện MSDN hỗ trợ người lập trình những gì?
Có thật sự cần thiết phải cài đặt tất cả các công cụ trong bộ MS Visual Studio?
1.2.
.NET Framework
.NET được developed từ đầu năm 1998, lúc đầu có tên là Next Generation
Windows Services (NGWS). Nó được thiết kế hoàn toàn từ con số không để dùng cho
Internet.
.NET đại diện cho toàn bộ các công nghệ và các khái niệm cấu thành một nền tảng
để người lập trình xây dựng các ứng dụng trên nó.
Có thể hiểu .NET là một lớp tồn tại bên dưới các ứng dụng và cung cấp một tập các
chức năng và dịch vụ cơ bản.
.NET framework cung cấp 2 thành phần chính: các lớp cơ sở (NET. Framework
base class) và sử dụng ngôn ngữ chung (Common Language Runtime). .NET framework
cũng cung cấp một tập các hàm API của riêng nó để giúp cho lập trình tận dụng được hết
khả năng của nó.
Biên soạn: ThS. Nguyễn Vũ Duy Quang
Trang 5
Giáo trình Visual Basic .NET
Khoa Công nghệ Thông tin - LHU
.Net Framework là môi trường phát triển phần mềm giúp các lập trình viên có thể
xây dựng các ứng dụng nhanh và hiệu quả trên rất nhiều các ngôn ngữ lập trình: VB.Net,
C#, ASP.Net, Jscript.Net …
Khi sử dụng .Net Framework, chúng ta sẽ không còn phải quá quan tâm đến việc
lựa chọn ngôn ngữ nào để phát triển ứng dụng. Thậm chí trong 1 ứng dụng ta có thể viết
bằng nhiều ngôn ngữ .NET khác nhau.
Giới hạn của VB 6.0
Biên soạn: ThS. Nguyễn Vũ Duy Quang
Trang 6
Giáo trình Visual Basic .NET
Khoa Công nghệ Thông tin - LHU
Các thành phần chính của .Net FrameWork
Biên soạn: ThS. Nguyễn Vũ Duy Quang
Trang 7
Giáo trình Visual Basic .NET
Khoa Công nghệ Thông tin - LHU
.NET application được chia ra làm hai loại: cho Internet gọi là ASP.NET, gồm có
Web Forms và Web Services và cho desktop gọi là Windows Forms. Windows Forms
giống như Forms của VB6. Nó hổ trợ Unicode hoàn toàn, rất tiện cho chữ Việt và thật sự
Object Oriented. Web Forms có những Server Controls làm việc giống như các Controls
trong Windows Forms, nhất là có thể dùng codes để xử lý Events y hệt như của Windows
Forms. Điểm khác biệt chánh giữa ASP (Active Server Pages) và ASP.NET là trong
ASP.NET, phần đại diện visual components và code nằm riêng nhau, không lộn xộn như
trong ASP. Ngoài ra ASP.NET code hoàn toàn Object Oriented. Web Services giống như
những Functions mà ta có thể gọi dùng từ các URL trên Internet, thí dụ như Credit Card
authorisation. ADO.NET là một loại cache database nho nhỏ (gọi là disconnected
database) để thay thế ADO. Thay vì application connects vĩnh viễn với database mẹ qua
ADO, application trong .NET làm việc với portable 9 database chỉ chứa một hai tables, là
copy từ database mẹ. Khi nào cần, portable database nầy (ADO.NET) sẽ được reconciled
với database mẹ để update các thay đổi. Hai tables trong ADO.NET có thể được related
nhau trong Master/Details relationship. Vì ADO.NET có chứa original data lẫn data
mới nhất nên Rollback trong ADO.NET rất dễ dàng và nhẹ ký. XML được yểm trợ tối
đa. Nằm phía sau ADO.NET là XML. XML có thể là Table of records trong ADO.NET
hay Tree of nodes trong DOM (Document Object Model). IO được hổ trợ bằng toàn bộ
Stream kể cả Memory Stream và StreamReader/StreamWriter. Thêm vào là
DataFormatting cho Serialisation để chứa Object xuống binary file hay text file. TCP/IP
và http là hai protocols thông dụng nhất trong .NET, nhưng chúng làm việc phía sau sân
khấu giúp ta gọi một remote procedure (nằm trên computer khác) dễ dàng như một local
procedure. Kỹ thuật ấy gọi là Remoting. Security hổ trợ Cryptography, Permissions và
Policy. Diagnostics cho ta Debug và Trace. Threading rất tiện và đơn giản để
implement Lightweight Process. Vấn đề Timing trong .NET program rất linh động, hiệu
quả và chính xác. Việc thiết kế Common Language Runtime nhắm vào các mục tiêu
chính sau đây:
• Việc triển khai đơn giản và nhanh hơn: developers sẽ dành thì giờ quyết định ráp
những software components nào lại với nhau nhiều hơn là lập trình thật sự.
• Các công tác thiết yếu ("plumbing") như memory management, process
communication... được lo liệu tự động.
• Các công cụ hổ trợ rất đầy đủ (no more API): .NET Framework Base classes rất
phong phú cho file, network, serialisation, mã hóa, XML, database, v.v..
• Cài đặt đơn giản và an toàn (no more DLL "hell"): chỉ cần xcopy files, giống như
thời vàng son của DOS. Lý do là .NET application chạy trên .NET framework,
một khi ta đã cài .NET framework vào máy rồi thì có đầy đủ mọi .DLL cần thiết.
Có lẽ trong tương lai Microsoft cài .NET framework chung với Windows.
Câu hỏi:
Các hàm API là gì?
Phân biệt WinForm và WebForm.
.NET Framework có bao nhiêu loại?
Trình biên dịch làm nhiệm vụ gì?
Một dự án viết bằng ngôn ngữ VB.NET có thể tích hợp vào một ngôn ngữ lập
trình khác hay không?
Biên soạn: ThS. Nguyễn Vũ Duy Quang
Trang 8
Giáo trình Visual Basic .NET
1.3.
Khoa Công nghệ Thông tin - LHU
Bắt đầu dự án mới:
Vào Start => Programs => Microsoft Visual Studio 2005 => Microsoft Visual
Studio 2005 (như hình trên). Visual Studio sẽ khởi động, nếu là lần đầu tiên khởi động thì
chương trình sẽ hỏi bạn sử dụng ngôn ngữ gì (ở đây chọn Visual Basic). Nếu là lần thứ 2
trở đi thì sẽ xuất hiện giao diện như hình dưới.
Vào File = > New Project. Xuất hiện hộp thoại sau:
chọn loại ứng
dụng sẽ viết
đặt tên cho
dự án
Chọn Visual Basic => Windows => chọn Windows Application trong cửa sổ bên
phải => đặt tên cho Project mới (tên mặc định là WindowsApplication1) => OK
Biên soạn: ThS. Nguyễn Vũ Duy Quang
Trang 9
Giáo trình Visual Basic .NET
Khoa Công nghệ Thông tin - LHU
Cửa sổ Solution
chứa các file
chươn trình trình
Cửa sổ
Propertive của
các đối tượng
Các component
trong Toolbox
Form Designer dùng để
thiết kế chương trình
Hộp công cụ (toolbox): chứa các biểu tượng tương ứng với những đối tượng điều
khiển chuẩn bao gồm nhãn (label), hộp văn bản (Textbox), nút lệnh (button)… Để bật tắt
hộp công cụ ta vào Menu View => Toolbox (Ctrl + Alt + X)
Thực đơn (Menu Bar): cho phép truy cập đến hầu hết các lệnh dùng điều khiển môi
trường phát triển. Menu và các lệnh trên menu làm việc tương ứng như hầu hết nhưng
chương trình Windows thông thường khác.
Thiết kế chương trình (Form Designer): Đây là đối tượng xây các màn hình giao
tiếp của ứng dụng. Khi vừa tạo mới, màn hình giao tiếp sẽ có tên mặc định là Form1.vb
và không chứa đối tượng điểu khiển nào cả, nhiệm vụ của người lập trình là thiết kế các
đối tượng điều khiển trên màn hình giao tiếp và sử dụng các dòng lệnh để xử lý các sự
kiện thích hợp cho các đối tượng điều khiển đó.
Solution Explorer: Quản lý các ứng dụng hiển thị các màn hình giao tiếp (Forms),
các Reports và các Module … hiện có của ứng dụng. Ngoài ra, còn cho phép người lập
trình thực hiện nhanh những thao tác như thêm, xóa các đối tượng này khỏi ứng dụng.
Cửa sổ thuộc tính (Propertives): Cho phép định thuộc tính ban đầu cho các đối
tượng bao gồm màn hình giao tiếp (Forms) và các điều khiển (Control)
Cửa sổ lệnh (Code window): Đây là cửa sổ cho phép khai báo các dòng lệnh xử lý
biến cố cho màn hình giao tiếp và các đối tượng trên màn hình giao tiếp. Mặc nhiên cửa
sổ này không được hiển thị, người lập trình có thể nhân nút chuột phải lên màn hình giao
tiếp và chọn View Code để hiển thị khi cần
Biên soạn: ThS. Nguyễn Vũ Duy Quang
Trang 10
Giáo trình Visual Basic .NET
Khoa Công nghệ Thông tin - LHU
Lưu chương trình: File => Save All (Click vào biểu tượng 3 đĩa mềm đè lên nhau).
Xuất hiện cửa sổ sau:
Đặt tên cho dự án trong ô Name, chọn đường dẫn lưu dự án trong ô Location, đặt
tên cho Solution (mặc định tên Solution là tên của dự án). Chọn Save để lưu lại
Mở một dự án đã tồn tại:
Khởi động Visual Studio 2005
Vào menu File => Open Project
Chọn Project muốn mở trong hộp thoại dialog Open OK.
Chạy chương trình: Click chuột vào nút Start trên thanh công cụ (hoặc nhấn F5).
Chạy file thực thi (.exe): Khi chạy chương trình bằng cách nhấn nút Start (hoặc
nhấn phím F5) thì chương trình sẽ tự động tạo file thực thi .exe trong thư mục Debug của
dự án đã tạo. Hoặc vào menu Build => Build + TênDựÁn để dịch thử chương trình vừa
tạo.
Lưu ý: Khi chạy chương trình hoặc Build mà còn có lỗi khi viết code (mã lệnh) thì
chương trình sẽ báo lỗi và chỉ ra dòng lệnh có chứa lỗi. Đến khi nào không còn lỗi thì
chương trình mới có thể chạy đúng hoặc Build thành file thực thi.
Biên soạn: ThS. Nguyễn Vũ Duy Quang
Trang 11
Giáo trình Visual Basic .NET
Khoa Công nghệ Thông tin - LHU
Câu hỏi:
Chức năng của thanh công cụ (Toolbox) là gì?
Sử dụng thanh thực đơn có thể thay thế hoàn toàn cho thanh công cụ không?
Làm thế nào để mở lại thanh công cụ nếu vô tình tắt đi?
Các chức năng cơ bản trên thanh menu có điểm tương đồng với một số chương
trình khác như: Word, Excel không?
Làm thế nào để bổ sung một control lên Form Design?
Muốn viết lệnh cho một đối tượng điều khiển trên Form thì có mấy cách thực
hiện?
Để chỉnh thuộc tính của bất kỳ đối tượng điều khiển cũng như màn hình giao diện
thì thực hiện như thế nào?
Di chuyển qua lại giữa màn hình thiết kế và cửa sổ lệnh bằng cách nào?
1.4.
Viết chương trình Visual Basic đầu tay
Ứng dụng mà chúng ta sắp xây dựng dưới đây mang tên Lucky Seven (số 7 may
mắn), một chương trình mô phỏng máy chơi lô tô.
Giao diện người dùng gồm:
Nút Spin (quay số) khi nhấn vào nút này thì chương trình sẽ chọn ngẫu nhiên 3 số.
Nút End (Kết thúc) khi nhấn nút này thì sẽ thoát khỏi ứng dụng.
Ba đối tượng nhãn (label) có tên lblSoThu1, lblSoThu2, lblSoThu3 dùng để chứa ba
số ngẫu nhiên khi nhấn nút Spin
Một nhãn mang nội dung “Lucky Seven”
Một nhãn dùng để thông báo.
Và một hình (picture) được gán thuộc tính Visible = False (tức là ẩn)
Biên soạn: ThS. Nguyễn Vũ Duy Quang
Trang 12
Giáo trình Visual Basic .NET
Khoa Công nghệ Thông tin - LHU
Khi nhấn nút Spin sẽ chọn 3 số ngẫu nhiên gán vào 3 nhãn lblSoThu1, lblSoThu2,
lblSoThu3 nếu một trong 3 nhãn này có chứa số 7 thì thông báo “YOU WIN”, cho hiện
hình lên và phát ra một tiếng bíp. Ngược lại, không cho hiện hình và thông báo “YOU
LOSE”
Code chương trình:
Imports System.Math
Public Class Form1
Private Sub bttnEnd_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles bttnEnd.Click
End
End Sub
Private Sub bttnSpin_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles bttnSpin.Click
picHinh.Visible = False
Randomize()
lblSoThu1.Text = CStr(Int(Rnd() * 10))
lblSoThu2.Text = CStr(Int(Rnd() * 10))
lblSoThu3.Text = CStr(Int(Rnd() * 10))
If lblSoThu1.Text = "7" Or lblSoThu2.Text = "7" Or lblSoThu3.Text =
"7" Then
picHinh.Visible = True
lblThongBao.Text = "YOU" & vbCrLf & "WIN"
Beep()
Else
lblThongBao.Text = "YOU" & vbCrLf & "LOSE"
End If
End Sub
End Class
1.5.
Chạy chương trình ứng dụng Visual Basic .NET
Chạy chương trình:
Nhấp chuột vào nút Start (hoặc nhấn F5) trên thanh công cụ chuẩn
File thực thi .exe
Khi chạy chương trình bằng cách nhấn nút Start (hoặc nhấn F5) thì chương trình
sẽ tự động tạo file thực thi .exe trong thư mục Debug chứa trong dự án đã tạo
Hoặc vào menu Build => Build + TênDựÁn để dịch thử chương trình vừa tạo
Lưu ý: Khi chạy chương trình hoặc Build mà còn có lỗi khi viết code (mã lệnh)
thì chương trình sẽ báo lỗi và chỉ ra dòng lệnh có chứa lỗi. Đến khi nào không còn
lỗi thì chương trình mới có thể chạy hoặc Build
Câu hỏi: Khi tạo ra một file thực thi .exe đem qua một máy khác thì có thể chạy
file .exe này không
Bài tập:
1. Xây dựng 1 ứng dụng đơn giản “Hello World” bằng Console
Biên soạn: ThS. Nguyễn Vũ Duy Quang
Trang 13
Giáo trình Visual Basic .NET
Khoa Công nghệ Thông tin - LHU
2. Xây dựng 1 ứng dụng đơn giản “Welcome to VB.NET” bằng giao diện FORM.
3. Thiết kế chương trình hiển thị chào mừng như sau:
Yêu cầu:
Chương trình gồm 1 ô nhập liệu (Textbox) và 3 nút lệnh (button) khi nhấn nút:
Display: ô nhập liệu hiện lên câu: “Welcome to VB.NET”
Clear: xóa nội dung trong ô nhập liệu
Exit: thoát chương trình.
Code chương trình:
Public Class Form1
Private Sub bttnDisplay_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles bttnDisplay.Click
txtNoiDung.Text = "Welcome to VB.NET"
End Sub
Private Sub bttnClear_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles bttnClear.Click
txtNoiDung.Text = ""
End Sub
Private Sub bttnExit_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles bttnExit.Click
End
End Sub
End Class
Biên soạn: ThS. Nguyễn Vũ Duy Quang
Trang 14
Giáo trình Visual Basic .NET
Khoa Công nghệ Thông tin - LHU
Chương 2: BIỂU MẪU VÀ MỘT SỐ ĐIỀU KHIỂN THÔNG DỤNG
Mục tiêu:
Chương này giới thiệu về một số điều khiển cơ bản để tạo nên giao diện cho các
ứng dụng cũng như một số khái niệm trong lập trình với VB.NET, những yêu cầu
tối thiểu cần có trong việc “lập trình sự kiện” với VB.NET
Kế thúc chương cần nắm bắt được các vấn đề sau:
Khái niệm về điều khiển, thuộc tính, phương thức, sự kiện.
Quy tắc đặt tên danh biểu trong lập trình.
Sử dụng biểu mẫu trong thiết kế giao diện.
Sử dụng điều khiển ô nhập liệu, nút nhấn, nhãn, khung.
2.1. Các khái niệm:
Điều khiển (control): Các thành phần có sẵn để
người lập trình tạo giao diện tương tác với người dùng.
Mỗi điều khiển thực chất là một đối tượng, do vậy nó sẽ
có một số điểm đặc trưng cho đối tượng, chẳng hạn như
các thuộc tính, các phương thức và các sự kiện.
Thuộc tính (propertives): Các đặc trưng của một
điều khiển tạo nên dáng vẻ riêng của mỗi điều khiển đó.
Phương thức: Các điều khiển có thể thực thi một số
tác vụ nào đó, các tác vụ này được định nghĩa sẵn bên
trong các phương thức (còn gọi là chương trình con: hàm
& thủ tục), người lập trình có thể gọi thực thi các phương
thức này nếu cần.
Sự kiện: là hành động của người dùng tác động lên ứng dụng đang thực thi.
Ví dụ: - Nhấn phím bất kỳ trên bàn phím.
- Nhấp chuột.
Biên soạn: ThS. Nguyễn Vũ Duy Quang
Trang 15
Giáo trình Visual Basic .NET
Khoa Công nghệ Thông tin - LHU
- Nhập dữ liệu vào Textbox
Các thành phần giao diện có khả năng đáp ứng lại sự kiện. Chẳng hạn khi chúng ta
nhấp chuột vào button, lúc đó button nhận biết được sự kiện này; hay như Textbox nhận
biết được sự kiện bàn phím tác động lên nó. Một ứng dụng trên Windows thường được
thực hiện nhờ vào việc đáp ứng lại các sự kiện của người dùng.
Lập trình sự kiện: Các thành phần giao diện có khả năng nhận biết được các sự
kiện từ phía người dùng. Tuy nhiên khả năng đáp ứng lại các sự kiện được thực hiện bởi
người lập trình.
Khi một thành phần giao diện được sử dụng, người lập trình phải xác định chính xác
hành động của thành phần giao diện đó để đáp ứng lại một sự kiện cụ thể. Lúc đó người
lập trình phải viết đoạn mã lệnh mà đoạn mã lệnh này sẽ được thực thi khi sự kiện xảy ra.
Chẳng hạn, trong ứng dụng Paint của Windows; khi người sử dụng nhấp chuột vào
nút vẽ hình elip sau đó dùng chuột vẽ nó trên cửa sổ vẽ, một hình elip được vẽ ra.
Trong lập trình sự kiện, một ứng dụng được xây dựng là một chuỗi các đáp ứng lại
sự kiện. Tất cả các hành động của ứng dụng là đáp ứng lại các sự kiện. Do vậy người lập
trình cần phải xác định các hành động cần thiết của ứng dụng; phân loại chúng; sau đó
viết các đoạn mã lệnh tương ứng.
Cách xác lập các thuộc tính & các phương thức trong chương trình
.
.[()]
Ví dụ: txtHoTen.Text = “Nguyễn Vũ Duy Quang”
txtHoTen.SelectAll()
Tên điều khiển (thuộc tính Name)
Đây là thuộc tính xác định tên của điều khiển trong ứng dụng. Tên này được đặt
theo quy tắc:
Tên có thể dài từ 1 - 256 ký tự.
Tên phải bắt đầu với ký tự chữ, có thể chữ hoa hay thường.
Sau ký tự đầu tiên, tên có thể chứa ký tự, số hay dấu gạch dưới.
Ví dụ: Num, StudentCode, Class12A2 là những tên hợp lệ. 345, 7Class là nhữg tên
không hợp lệ.
Gợi ý cách đặt tên: nên đặt tên theo từng nhóm đối tượng, kết hợp với chức năng
của control. Ví dụ Textbox thì đặt tên bắt đầu là txtTenCanDat, label là lblTen, buttom là
bttnTen, ComboBox là cboTen, Form là frmTenForm … để dễ phân biệt khi lập trình.
Biên soạn: ThS. Nguyễn Vũ Duy Quang
Trang 16
Giáo trình Visual Basic .NET
Khoa Công nghệ Thông tin - LHU
Câu hỏi:
Để chỉnh thuộc tính của mỗi control thì chúng ta sử dụng cửa sổ nào trên màn hình
thiết kế giao diện Form?
Liệt kê một số cách để tiến hành viết lệnh cho 1 control nào đó trên Form.
Mỗi phương thức của control VB.NET là có sẵn và người dùng chỉ việc sử dụng
hay người dùng phải tự định nghĩa các phương thức đó?
Mỗi sự kiện xảy ra trên một control có thể tác động đến các control khác hay
không?
Sự kiện trên các control VB.NET có thể tự phát sinh hay không?
Bất kỳ một phương thức nào của control đều cần có tham số truyền vào?
Tên control 2014_txt_HoTen đúng hay sai?
2.2. Biểu mẫu (Form)
a. Khái niệm:
Chương trình ứng dụng giao tiếp với người dùng thông qua các biểu mẫu (hay còn
gọi là cửa sổ, xuất phát từ chữ Form hay Windows); các điều khiển (Control) được đặt
lên bên trên giúp cho biểu mẫu thực hiện được công việc đó. Biểu mẫu là các cửa số được
lập trình nhằm hiển thị dữ liệu và nhận thông tin từ phía người dùng.
b. Thuộc tính
Name: thuộc tính này như là một định danh nhằm xác
định tên của biểu mẫu là gì? Ta sẽ sử dụng thuộc tính này để
truy xuất đến các thuộc tính khác cùng với phương thức có thể
thao tác được trên biểu mẫu.
Icon: hình icon được dùng trong thanh tiêu đề của form,
nhất là khi form thu nhỏ lại.
StartPosition: xác định vị trí ban đầu của form trên màn
hình khi form vừa nạp (Manual, CenterScreen,
WindowsDefaultLocation,
WindowsDefaultBounds,
CenterParent).
WindowState: xác định trạng thái ban đầu của form
(Normal, Minimized, Maximized ).
Text: Văn bản hiển thị trên thanh tiêu đề của form
(tương ứng với thuộc tính cation trong VB6)
BackgroundImage: xác định tập tin làm hình nền cho
form (tương ứng thuộc tính picture trong VB6).
BackColor: Màu nền form.
FormBorderStyle: Kiểu đường viền form.
Opacity: Cho phép thay đổi độ sáng tối của form, có thể làm mờ form khi hiển thị.
Giá trị mặc định là 100%. Đây là thuộc tính mới so với VB6.
ControlBox: Cho phép bật/tắt hộp điều khiển thu nhỏ, phóng lớn và đóng. Mặc
định có giá trị là True.
Cursor: Kiểu con trỏ khi thao tác trên form.
Font: Chọn Font chữ cho form.
Biên soạn: ThS. Nguyễn Vũ Duy Quang
Trang 17
Giáo trình Visual Basic .NET
Khoa Công nghệ Thông tin - LHU
ForceColor: Chọn màu cho font chữ.
KeyPreview: Mặc định có thuộc tính là False. Cho phép form nhận các giá trị nhấn
từ bàn phím.
MaximizeBox: Cho phép bật/tắt nút phóng to trên ControlBox.
MinimizeBox: Cho phép bật/tắt nút thu nhỏ trên ControlBox.
Size: thay đổi kích thước form.
c. Phương thức
Location: di chuyển biểu mẫu đến tọa độ x,Y: Location = new point(X, Y)
Close: đóng form (chưa giải phóng bộ nhớ)
Dispose: đóng form và giải phóng bộ nhớ
Focus: đặt form ở trạng thái được chọn
Hide: ẩn form
Refresh: làm tươi form
SetBounds(x, y, w, h): xác định vị trí và kích thước cho form
SetDesktopLocation(x, y): đặt vị trí form trên màn hình desktop
Show: hiển thị form
d. Sự kiện
Form_Load: Sự kiện này xảy ra mỗi lần ta gọi thể hiện một biểu mẫu. Ta dùng sự
kiện Form_Load để khởi tạo các biến, điều khiển cho các thể hiện của biểu mẫu này.
Form_Activate: Mỗi lần một biểu mẫu được kích hoạt (active) thì một sự kiện
Activate phát sinh. Ta thường dùng sự kiện này để cập nhật lại giá trị các điều khiển trên
biểu mẫu.
Form_FormClosing: Mỗi lần form đóng lại thì sự kiện FormClosing sẽ được phát
sinh. Ta thường dùng sự kiện này để thao tác đến các thành phần khác đang mở trước khi
form được đóng lại.
Form_Resize: Sự kiện này xảy ra mỗi khi form thay đổi kích thước.
Form_KeyPress: Sự kiện này xảy ra khi ta nhấn một phím bất kỳ. Ta thường dùng
để kiểm tra các phím vừa nhấn từ bàn phím
Ngoài ra còn có các sự kiện xử lý nhấn phím là: KeyDown, KeyUp,
Form_MouseDown,
Form_MouseClick,
Form_MouseUp,
Form_MouseWheel,
Form_MouseEnter… xảy ra khi ta thao tác chuột trên Form.
e. Thiết kế Form:
Thêm 1 control vào Form:
- Bước 1: Trên thanh công cụ Toolbox, chọn Control cần sử dụng.
- Bước 2: Click chọn vị trí mà Control đó sẽ xuất hiện.
- Bước 3: Thay đổi lại độ rộng hoặc vị trí cho thích hợp và đẹp mắt.
- Bước 4: Đặt tên và khai báo các thuộc tính cho Control mới thêm vào.
Thay đổi thuộc tính Control đã thêm:
- Bước 1: Chọn Control cần thay đổi ở trên Form.
Biên soạn: ThS. Nguyễn Vũ Duy Quang
Trang 18
Giáo trình Visual Basic .NET
Khoa Công nghệ Thông tin - LHU
- Bước 2: Thay đổi các thông tin về thuộc tính của Control bằng cách sử dụng
cửa sổ Properties trên màn hình thiết kế Form.
Xử lý sự kiện:
- Cách 1: Double click vào Control cần viết xử lý sự kiện.
- Cách 2: ở cửa sổ code view chọn Control và chọn Sự kiện tương ứng.
Câu hỏi:
Số lượng control trên Form có giới hạn không?
Để bỏ qua hộp điều khiển (min, max, close) trên Form thì thiết lập lại thuộc tính
nào?
Phương thức nào trên Form giúp ta đóng Form lại?
Để khóa việc thao tác trên Form, ta thiết lập thuộc tính nào?
Sự kiện Form_Load xảy ra khi nào?
Sự kiện gì được phát sinh khi Form thay đổi kích thước?
Kể tên một số sự kiện liên quan đến thao tác nhấn phím và chuộ?
2.3. Nhãn (Label)
a. Khái niệm:
Nhãn là điều khiển dạng đồ họa cho phép người sử dụng
hiển thị chuỗi ký tự trên biểu mẫu nhưng họ không thể thay
đổi chuỗi ký tự đó một cách trực tiếp.
b. Thuộc tính:
Name: Đây là một tên xác định một định danh, người lập
trình có thể thay đổi tên này theo cách của mình để tiện sử
dụng.
Text: Thuộc tính quy định chuỗi ký tự hiển thị khi ta tạo
một điều khiển nhãn. Khi ta tạo mới một điều khiển thì thuộc
tính text có giá trị mặc nhiên là “Label…”.
Ví dụ: Ta muốn tạo một nhãn là “Chào mừng bạn đến với
Visual Basic”, ta thay đổi giá trị của thuộc tính text thành
“Chào mừng bạn đến với Visual Basic”.
Ta có thể thay đổi giá trị của thuôc tính text tại thời điểm ứng dụng đang chạy nhờ
vào đoạn mã lệnh đơn giản như sau:
Biên soạn: ThS. Nguyễn Vũ Duy Quang
Trang 19
Giáo trình Visual Basic .NET
Khoa Công nghệ Thông tin - LHU
lblThongBao.text = "Đã đổi giá trị text" với lblThongBao là tên của điều khiển nhãn
mà ta muốn đổi.
TextAlign: Vị trí hiển thị chuỗi trên nút.
BorderStyle: Xác định kiểu đường viền cho nhãn (none, fixsingle, fix3d)
Font, Fore Color: Quy định kiểu chữ, kích thước, màu hiển thị.
BackColor: Quy định màu nền của nhãn trong trường hợp không trong suốt. Chọn
backcolor là Transparent trong tab Web của cửa sổ chọn màu để có màu nền giống với
màu đối tượng hoặc đang chứa label.
Image: Chọn hình cho nhãn.
Visible: Có giá trị mặc định là True, dùng để ẩn hiện khung.
TabIndex: Số thứ tự của đối tượng trên Form. Ta có thể nhấn phím Tab trên bàn
phím để chuyến đổi qua lại giữa các đối tượng bằng chỉ số Tabindex. Chỉ số nào được tự
động tạo ra khi ta thêm một đối tượng vào Form.
c. Phương thức:
Location: di chuyển nhãn đến tọa độ X,Y: Location = new point( X, Y)
Hide:Ẩn Label trên Form
Show: Hiển thị Label trên Form
Focus: Đặt Label ở trạng thái được chọn
SetBounds(x,y,w,h): xác định vị trí và kích thước của Label.
Dispose: Xóa vùng nhớ liên quan đến đối tượng được khai báo.
d. Sự kiện:
TextChanged: Xảy ra mỗi khi nhãn thay đổi giá trị.
Click: Mỗi khi nhãn được chuột nhấp lên, sự kiện này xảy ra.
DoubleClick: Xảy ra khi người sử dụng nhấp đúp chuột lên điều khiển nhãn.
Câu hỏi:
Thuộc tính nào của Label được sử dụng nhiều nhất khi thiết kế giao diện?
Để thiết lập đường viền cho Lable ta sử dụng thuộc tính nào?
Phương thức nào giúp ẩn Label trên Form?
Để canh lên cho văn bản trên Label ta thiết lập thuộc tính nào?
Bài tập:
Thiết kế chương trình đơn giản gồm 1 form được đặt tiêu đề “Làm quen với
control label”. Kéo 4 label với các tên lblHoTen, lblDienThoai, lblNgaySinh,
lblNoiSinh. Thay đổi các thuộc tính font, fore color, borderstyle… cho mỗi label.
2.4. Nút lệnh (Command Button)
a. Khái niệm:
Nút lệnh là một điều khiển dùng để bắt đầu, ngắt
hoặc kết thúc một quá trình. Khi nút lệnh được chọn thì nó
trông như được nhấn xuống, do đó nút lệnh còn được gọi
là nút nhấn (Push Button). Người dùng luôn có thể chọn
một nút lệnh nào đó bằng cách nhấn chuột trên nút lệnh đó.
Biên soạn: ThS. Nguyễn Vũ Duy Quang
Trang 20
- Xem thêm -