TT. Visual Basic
Trang 1
Chương 1 THIT K BIU MU DÙNG CÁC
ĐIU KHIN
Mc tiêu:
Chương này gm các bài tp nhm rèn luyn cho sinh viên các thao tác
cn thiết cho phép thiết kếc ng dng đơn gin trong môi trường lp trình
Visual Basic cũng như mt s k năng lp trình cơ bn khi làm vic vi Visual
Basic.
Hc xong chương này, sinh viên phi nm bt được các vn đề sau:
- S dng các điu khin để thiết kế giao din trong Visual Basic.
- Vn dng các cu trúc lp trình trong Visual Basic để viết mã lnh.
- S dng mt s cu trúc d liu trong Visual Basic.
Kiến thc có liên quan:
- Giáo trình “Visual Basic”; Chương 1, 2, 3, 4, 5.
Tài liu tham kho:
-
Visual Basic 6 Certification Exam Guide - Chapter 1, Page 1;
Chapter 2, Page 41; Chapter 4, Page 89 - Dan Mezick & Scot Hillier -
McGraw-Hill - 1998.
TT. Visual Basic
I. S DNG MT S ĐIU KHIN
I.1 Bài tp có hướng dn
Bài tp 1I-1
THAO TÁC TRÊN LISTBOX
Bước 1: To thư mc Basic\Bt1-1. To mt d án mi kiu Standard EXE, lưu vào
trong thư mc trên.
Bước 2: Thêm 2 List Box và mt Button vào form (hình 1). Nhn đúp lên form để m
ra ca s Code, nhp các đon mã sau trong s kin Form_Load:
Form1.List1.AddItem “Thing 3”
Form1.List1.AddItem “Thing 2”
Form1.List1.AddItem “Thing 1”
Trang 2
90
Hình 1.1: Thao tác vi List Box
Bước 3: Chy ng dng bng cách chn Run/Start. List1 hin th 3 phn t va thêm
vào bước 2. Chm dt chương trình bng cách chn Run/End trên menu để tr v
môi trường son tho.
Bước 4: Nhp đúp lên Button Command1 để hin th s kin Click ca Command1.
Bước 5: Mc đích ca Command1 là chuyn nhng phn t đưc chn t List1 sang
List2. Thêm đon mã sau vào th tc s kin Click ca Command1:
' Kiem tra neu mot phan tu duoc chon
If Form1.List1.ListIndex = -1 Then Exit Sub
' Chep cac phan tu duoc chon tu List1 sang List2
Form1.List2.AddItem Form1.List1.List(Form1.List1.ListIndex)
Bước 6: Chy ng dng. Nhp phn t th nht ca List1, sau đó nhp Command1.
Điu gì xy ra? Phn t được chn ca List1 phi được hin th bên List2. Chm dt
ng dng và tr v môi trường son tho.
Bước 7: Tìm trong phn tr giúp các thuc tính sau ca ListBox:
o ListCount
o List
TT. Visual Basic
Trang 3
o ListIndex
Bước 8: Tìm trong phn tr giúp các hàm sau ca ListBox:
o AddItem
o RemoveItem
o Clear
Bước 9: Tìm tr giúp cho lnh VB:
Exit Sub
Bước 10: Đon mã trong th tc Command1_Click thc hin thao tác chép phn t t
mt ListBox sang mt ListBox khác. Bây gi ta làm ngược li: loi b phn t trong
List1. Để làm điu này ta nhp đúp lên Command1 và thêm dòng code sau vào cui
th tc:
' Xoa phan tu duoc chon trong List1
Form1.List1.RemoveItem Form1.List1.ListIndex
Bước 11: Chy chương trình và chn phn t th nht trong List1. Điu gì xy ra?
Bước 12: Nếu không chn phn t nào trong List1, nhp Command1. Điu gì xy ra?
Ti sao?
Bước 13: Ta đã có mt button dùng để chuyn các phn t được la chn t trái sang
phi (List1 sang List2), vi button còn li ta s dùng để chuyn các phn t được chn
t phi sang trái (List2 sang List1).
Bước 14: Vi Command2 ta s copy đon mã t Command1 vi 1 vài thay đổi nh.
Bước 15: Command2 thc hin các thao tác ging vi Command1, nhưng có nhim
v di chuyn phn t được la chn t List2 sang List1. Đon mã trong Command1 s
được s dng li vi mt vài thay đổi nh. Nhp đúp lên Command1, chn các mã
lnh đã thêm vào các bước trước. Chn Edit/Copy trên menu.
Bước 16: Đóng ca s Code và nhp đúp lên Command2. S kin Command2_Click
s hin th trong ca s Code. Nhp bt kn trong th tc s kin và chn
Edit/Paste trên menu. Như vy ta đã chép đon mã t Command1 sang Command2.
Bước 17: Sa li các mã lnh va được chép. Thay đổi các chú thích cho thích hp;
đổi List1 thành List2 và ngược li. Nhng sa đổi này giúp Command2 có th thc
hin thao tác chuyn các phn t được chn t List2 sang List1.
Lưu các công vic đã thc hin bng cách chn File/Save Project.
Bước 18: Chy chương trình. Chn phn t th nht trong List1 và chn Command1
để chuyn nó sang List2. Bây gi chn phn t th nht trong List2, và nhp
Command2. Nếu Command2 không thc thi, tr li môi trường son tho. Kim tra li
đon mã lnh trong th tc Command2_Click ta va chép bước trên.
Bước 19: Lưu ý rng các phn t c 2 ListBox không được sp th t; nếu mun sp
th t, ta nhp List1 và đổi thuc tính Sorted thành True, tương t đối vi List2.
Bước 20: Lưu d án li và chy chương trình. Tt c các phn t phi được hin th
theo th t trong c 2 ListBox, bt chp th t chúng được thêm vào trong ListBox.
Bài tp 1I-2
THAO TÁC VI SPINCONTROL
TT. Visual Basic
Mt SpinControl là s kết hp ca TextBox và Slider. Slider to mt min giá
tr s được hin th trong TextBox. Các giá tr này có th được thay đổi bng cách
nhp trc tiếp vào trong TextBox.
Bước 1: To thư mc Basic\Bt1-2. To d án mi trong thư mc trên.
Bước 2: Trong Form1, thêm mt TextBox và Horizontal Scroll Bar như hình 2. Thiết
lp các thuc tính sau cho mi Control:
Trang 4
Hình I.2: Spin Control
Item1: TextBox
Name: Text1
Text: <blank>
Item2: Horizontal Scroll Bar
Name: Hscroll1
LargeChange: 10
Max: 100
Bước 3: Nhp đúp lên scrollbar để nhp mã lnh, đây là s kin Change ca Scroll
Bar gi là hàm HScroll1_Change. Thêm đon mã sau để hin th giá tr hin thi ca
scroll bar trong TextBox.
Text1.Text = HScroll1.Value
Bước 4: Chy ng dng bng cách chn Run/Start trên menu. Bây gi nhp các mũi
tên trái và phi ca scroll bar. Giá tr trong TextBox phi thay đổi.
Bước 5: Bây gi thêm mã để thay đổi giá tr bng cách nhp trc tiếp giá tr trong
TextBox. Nhp đúp vào TextBox và thêm đon mã sau để thiết lp giá tr cho scroll
bar khi TextBox thay đổi:
HScroll1.Value = Text1.Text
Bước 6: Chy chương trình và nhp 50 vào TextBox. Vch ca scroll bar thay đổi
theo. Thay đổi vch ca scroll bar, giá tr trong TextBox cũng thay đổi.
Bước 7: Trong khi chy chương trình, nhp ký t A vào TextBox. Điu gì xy ra?
Nguyên nhân vì scroll bar ch nhn các giá tr là s ch không phi ký t.
Bước 8: Để ngăn chn nhng ký t không mong mun được nhp vào TextBox, ta s
dng s kin KeyPress. S kin này xy ra khi có mt phím trên bàn phím được nhn,
nhưng trước khi giá tr thc s được hin th trên TextBox. S kin này nhn mt giá
tr s nguyên ca phím được nhn, gi là ASCII. Mi ký t trên bàn phím được đại
din bng mt mã ASCII duy nht. Do đó ta có th kim tra phím nào được nhn và b
qua nó nếu ta thy không cn thiết.
Bước 9: Thêm đon mã sau vào s kin Text1_KeyPress để ngăn chn các giá tr
không phi là s.
' Loai bo ky tu khong can thiet
TT. Visual Basic
If KeyAscii = vbKeyBack Then Exit Sub
If KeyAscii < vbKey0 Or KeyAscii > vbKey9 Then
KeyAscii = 0
End If
Bước 10: Lưu d án li và chy chương trình.
Bài tp 1I-3
THAO TÁC VI DRIVELISTBOX, DIRLISTBOX, FILELISTBOX
Trong ví d này ta phi to 5 đối tượng, trong đó có 4 điu khin:
o Mt Form.
o Mt điu khin DriveListBox
o Mt điu khin DirListBox
o Mt điu khin FileListBox
o Mt điu khin ImageBox
Bước 1: To giao din người dùng. Ta ch cn nhp và v đúng v trí tng điu khin
trên Form.
3
4
2
1
Hình I.3: Giao din la chn tp tin hình nh để hin th
1: DriveListBox
Name: drvSource
2: DirListBox
Name: dirSource
3: FileListBox
Name: filSource
Pattern: *.bmp;*.wmf;*.ico;*.jpg
4: ImageBox
Name: ImgSource
Stretch: TRUE
Trang 5