Ly thuyet VB_Quyen
I. Các khái niÇm
#ð iÁu khiÃn: Các thành ph§n có sµn à ng°Ýi lp 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 vy 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 & các sñ
kiÇn.
#ð ThuÙc tính: Các ·c tr°ng cça mÙt iÁu khiÃn t¡o nên dáng v» cça 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 lp 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.
Các thành ph§n giao diÇn có kh£ nng á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 nhn bi¿t °ãc sñ kiÇn này; hay nh° textbox
nhn 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.
#ð Lp trình sñ kiÇn:
Các thành ph§n giao diÇn có kh£ nng nhn bi¿t °ãc các sñ kiÇn të phía ng°Ýi
dùng. Tuy nhiên kh£ nng áp éng l¡i các sñ kiÇn °ãc thñc hiÇn bßi ng°Ýi lp trình.
Khi mÙt thành ph§n giao diÇn °ãc sí dång, ng°Ýi lp 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 lp 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 lp 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 vy
ng°Ýi lp 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.
- Khi ng°Ýi dùng không tác Ùng vào éng dång, éng dång không làm gì c£.
- Khi ng°Ýi dùng nhp dï liÇu vào các ô nhp HÍ và tên, Ëa chÉ; sñ kiÇn bàn
phím x£y ra trên các ô nhp. Tuy nhiên, éng dång v«n không làm gì c£ vì không có
o¡n mã lÇnh nào áp éng các sñ kiÇn này.
- Khi ng°Ýi dùng nh¥p nút chÍn Ghi )a, éng dång tìm ki¿m trong mã lÇnh cça
mình th¥y có o¡n mã lÇnh áp éng l¡i sñ kiÇn này; lúc ó o¡n mã lÇnh °ãc thñc thi.
- T°¡ng tñ nh° vy Ñi vÛi nút chÍn In gi¥y.
#ð Cách xác lp các thuÙc tính & các ph°¡ng théc trong ch°¡ng trình
<ThuÙc tính Name cça iÁu khiÃn>.<Tên thuÙc tính>
<ThuÙc tính Name cça iÁu khiÃn>.<Tên ph°¡ng théc>[(<Các tham sÑ>)]
#ð 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:
o Tên có thà dài të 1 - 40 ký tñ.
o Tên ph£i b¯t §u vÛi ký tñ chï, có thà chï hoa hay th°Ýng.
o 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, 7yu là nhïg
tên không hãp lÇ.
II. BiÃu m«u (Form)
II.1. 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 lp trình nh±m hiÃn thË dï liÇu và nhn thông
tin të phía ng°Ýi dùng.
II.2. ThuÙc tính
o 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.
o Caption: chu×i hiÃn thË trên thanh tiêu Á cça biÃu m«u.
o Icon: hình icon °ãc dùng trong thanh tiêu Á cça biÃu m«u, nh¥t là khi
biÃu m«u thu nhÏ l¡i.
o WindowState: xác Ënh biÃu m«u s½ có kích th°Ûc bình th°Ýng
(Normal=0), hay Minimized (=1), Maximized =(2).
o Font: xác lp Font cho biÃu m«u. ThuÙc tính này s½ °ãc các iÁu khiÃn
n±m trên nó thëa k¿. Téc là khi ta ·t mÙt iÁu khiÃn lên biÃu m«u, thuÙc tính Font cça
iÁu khiÃn ¥y s½ tñ Ùng trß nên giÑng y cça biÃu m«u.
o BorderStyle: xác Ënh d¡ng cça biÃu m«u.
II.3. Ph°¡ng théc
o Move: di chuyÃn biÃu m«u ¿n tÍa Ù X,Y: Move X, Y.
II.4. Sñ kiÇn
o Form_Initialize: Sñ kiÇn này x£y ra tr°Ûc nh¥t và chÉ mÙt l§n thôi khi ta
t¡o ra thà hiÇn §u tiên cça biÃu m«u. Ta dùng sñ kiÇn Form_Initialize à thñc hiÇn
nhïng gì c§n ph£i làm chung cho t¥t c£ các thà hiÇn cça biÃu m«u này.
o 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.
N¿u ta chÉ dùng mÙt thà hiÇn duy nh¥t cça mÙt biÃu m«u trong ch°¡ng trình thì
Form_Load coi nh° t°¡ng °¡ng vÛi Form_Initialize.
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.
o 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 à cp nht l¡i giá trË các iÁu
khiÃn trên biÃu m«u.
o Form_QueryUnload: Khi ng°Ýi sí dång ch°¡ng trình nh¥p chuÙt vào
nút X phía trên bên ph£i à óng biÃu m«u thì mÙt sñ kiÇn QueryUnload °ãc sinh ra.
o¡n ch°¡ng trình con d°Ûi ây mô t£ thç tåc xí lý sñ kiÇn QueryUnload.
Private Sub Form_QueryUnload(Cancel As Integer, _
UnloadMode As Integer)
End Sub
Sñ kiÇn này cho ta kh£ nng hçy bÏ hành Ùng óng biÃu m«u b±ng cách
·t l¡i Cancel là 1.
o Form_Resize: Sñ kiÇn này x£y ra m×i khi biÃu m«u thay Õi kích th°Ûc.
III. Nhãn (Label)
III.1. 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.
BiÃu t°ãng (shortcut) trên hÙp công cå:
III.2. ThuÙc tính:
o Name: ây là mÙt tên xác Ënh mÙt Ënh danh, ng°Ýi lp trình có thà thay
Õi tên này theo cách cça mình à tiÇn sí dång.o Caption: 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 Caption có giá trË m·c nhiên
là Label& .
o Font, Fore Color: Quy Ënh kiÃu chï, kích th°Ûc, màu hiÃn thË.
o BackStyle, BackColor: BackStyle quy Ënh là nhãn trong suÑt hay không.
BackColor quy Ënh màu nÁn cça nhãn trong tr°Ýng hãp không trong suÑt.
III.3. Ph°¡ng théc:
o Move: di chuyÃn nhãn ¿n tÍa Ù X,Y: Move X, Y.
III.4. Sñ kiÇn:
o Change: X£y ra m×i khi nhãn thay Õi giá trË.
o Click: M×i khi nhãn °ãc chuÙt nh¥p lên, sñ kiÇn này x£y ra.
o DblClick: X£y ra khi ng°Ýi sí dång nh¥p úp chuÙt lên iÁu khiÃn nhãn.
IV. Khung (Frame)
IV.1. Khái niÇm:
Khung là mÙt iÁu khiÃn dùng trong viÇc bÑ trí giao diÇn cça biÃu m«u mÙt
cách trong sáng và rõ nét. Thông th°Ýng các iÁu khiÃn cùng phåc vå cho mÙt công
viÇc nào ó s½ °ãc ·t trong mÙt khung nh±m làm nÕi bt vai trò cça chúng.
BiÃu t°ãng (shortcut) trên hÙp công cå:
Khi chúng ta t¡o mÛi mÙt khung à chéa các iÁu khiÃn khác, ta có hai cách
thñc hiÇn:
- T¡o khung chéa tr°Ûc, sau ó °a các iÁu khiÃn vào trong khung
chéa. ây là cách ¡n gi£n nh¥t.
- T¡o khung chéa sau khi ã t¡o mÛi các iÁu khiÃn, khi ó khung
chéa s½ che m¥t các iÁu khiÃn, vì vy ta c§n ph£i °a khung chéa ra sau các
iÁu khiÃn b±ng cách nh¥p chuÙt ph£i và chÍn Send to Back. Nh°ng Ñi vÛi
cách này, các iÁu khiÃn khác không n±m trên khung chéa. Do vy ta có thà gi£i
quy¿t b±ng cách c¯t (Cut) các iÁu khiÃn này i, sau ó dán (Paste) vào trong
khung,chéa.Khung cing có các thuÙc tính thông dång nh° cça iÁu khiÃn nhãn ch³ng h¡n nh°:
Name, Caption,...
IV.3. Ph°¡ng théc:
o Move: di chuyÃn khung ¿n tÍa Ù X,Y: Move X, Y.
IV.4. Sñ kiÇn:
o Click, DblClick: x£y ra khi khung nhn °ãc mÙt thao tác nh¥p (nh¥p
úp) chuÙt.
V. Nút lÇnh (Command Button)
V.1. 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 sí 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Ãu t°ãng (shortcut) trên hÙp công cå:
V.2. ThuÙc tính:
o Name: sí dång nh° mÙt Ënh danh nh±m xác Ënh tên cça nút lÇnh.
o Caption: Dùng à hiÃn thË mÙt chu×i nào ó trên nút lÇnh.
o Default: N¿u giá trË cça thuÙc tính này là True thì ta có thà chÍn nút lÇnh
b±ng cách nh¥n phím Enter.
o Cancel: N¿u giá trË cça thuÙc tính này là True thì ta có thà chÍn nút lÇnh
nào ó b±ng cách nh¥n phím ESC.
o Enabled: Trong mÙt biÃu m«u, có thà có nhiÁu nút lÇnh à thñc hiÇn
nhiÁu công viÇc khác nhau và t¡i mÙt thÝi iÃm nào ó ta chÉ °ãc phép thñc hiÇn mÙt
sÑ công viÇc. N¿u giá trË thuÙc tính Enabled là False thì nút lÇnh ó không có tác dång.
Giá trË m·c Ënh cça thuÙc tính này là True. Ta có thà thay Õi giá trË cça thuÙc tính t¡i
thÝi iÃm ch¡y éng dång.
o ToolTipText: cho phép hiÃn thË mÙt o¡n vn b£n chú thích công dång
cça nút lÇnh khi ng°Ýi sí dång dùng chuÙt rê trên nút nh¥n.
o Font, Fore Color: Quy Ënh kiÃu chï, kích th°Ûc, màu hiÃn thË.
V.3. Ph°¡ng théc
o Move: di chuyÃn nút lÇnh ¿n tÍa Ù X,Y: Move X, Y.
V.4. Ph°¡ng théc
o Click: ây là sñ kiÇn th°Ýng x£y ra vÛi nút lÇnh. M×i khi mÙt nút lÇnh
°ãc chÍn, sñ kiÇn này °ãc kích ho¡t. Do ó, ng°Ýi sí dång s½ vi¿t mã các lÇnh Ã
áp éng l¡i sñ kiÇn này.
Ví då: T¡o mÙt biÃu m«u có mÙt ô nhp liÇu vÛi nhãn là hÍ tên và mÙt
nút lÇnh cho phép °a ra câu chào ng°Ýi dùng ó.
Private Sub Command1_Click()
MsgBox "Chao mung ban " & Text1.Text & _
" lam quen voi Visual Basic"
End Sub
VI. Ô nhp liÇu (TextBox)
VI.1. Khái niÇm:
Ô nhp liÇu là mÙt iÁu khiÃn cho phép nhn thông tin do ng°Ýi dùng nhp
vào. Ñi vÛi ô nhp liÇu ta cing có thà dùng à hiÃn thË thông tin, thông tin này °ãc
°a vào t¡i thÝi iÃm thi¿t k¿ hay thm chí ß thÝi iÃm thñc thi éng dång. Còn thao tác
nhn thông tin do ng°Ýi dùng nhp vào d) nhiên là °ãc thñc hiÇn t¡i thÝi iÃm ch¡y
éng dång.
BiÃu t°ãng (shortcut) trên hÙp công cå
VI.2. ThuÙc tính:
o Name: ây là tên cça ô nhp liÇu, °ãc sí dång nh° mÙt Ënh danh.
o MaxLength: ThuÙc tính quy Ënh sÑ ký tñ tÑi a có thà nhp vào ô nhp
liÇu. N¿u sÑ ký tñ nhp vào v°ãt quá sÑ ký tñ tÑi a thì chÉ có úng sÑ ký tñ tÑi a
°ãc ghi nhn vào trong thuÙc tính Text.
o Text: Dùng à nhp vào thông tin c§n hiÃn thË trong Textbox t¡i thÝi
iÃm thi¿t k¿ ho·c nhn giá trË do ng°Ýi dùng nhp vào t¡i thÝi iÃm ch¡y éng dång.
Ví då:
MsgBox Text1.Text
o¡n mã này vi¿t trong sñ kiÇn Click cça nút lÇnh OK. Cho phép hÙp
thông báo hiÃn thË nÙi dung do ng°Ýi dùng nhp vào ô nhp liÇu.
o Locked: ThuÙc tính cho phép ng°Ýi dùng thay Õi nÙi dung cça ô nhp
liÇu °ãc hay không? ThuÙc tính này có thà nhn 2 giá trË True ho·c False. N¿u False
thì ng°Ýi dùng có thà thay Õi nÙi dung cça ô nhp liÇu & m·c Ënh thì thuÙc tính này
có giá trË là False.
o PasswordChar: ThuÙc tính này quy Ënh cách hiÃn thË thông tin do
ng°Ýi dùng nhp vào. Ch³ng h¡n, n¿u ta nhp vào giá trË thuÙc tính này là * thì các ký
tñ nhp vào iÁu hiÃn thË bßi d¥u * . ThuÙc tính này th°Ýng °ãc dùng trong tr°Ýng
hãp thông tin nhp vào c§n °ãc che gi¥u (Ví då mt kh©u ng nhp mÙt ch°¡ng
trình éng dång nào ó mà trong ó các ng°Ýi dùng khác nhau thì có các quyÁn khác
nhau).
o Multiline: ThuÙc tính quy Ënh ô nhp liÇu có °ãc hiÃn thË thông tin
d°Ûi d¡ng nhiÁu hàng hay không, n¿u là TRUE thì ô nhp liÇu cho phép nhiÁu hàng.
o Font, Fore Color: Quy Ënh kiÃu chï, kích th°Ûc, màu hiÃn thË.
o SelLength:Cho phép tr£ vÁ ho·c ·t tr°Ûc sÑ l°ãng ký tñ °ãc chÍn
trong ô nhp liÇu.
o SelStart: Tr£ vÁ ho·c xác Ënh iÃm b¯t §u cça chu×i °ãc chÍn. ây
là vË trí b¯t §u chèn mÙt chu×i mÛi trong tr°Ýng hãp không có ánh d¥u chÍn chu×i.
o SelText: Tr£ vÁ ho·c xác Ënh chu×i ký tñ °ãc ánh d¥u chÍn, ch×i tr£
vÁ s½ là r×ng n¿u nh° không ánh d¥u chÍn chu×i nào.
Ba thuÙc tính SelLength, SelStart, SelText chÉ có tác dång t¡i thÝi iÃm
ch¡y éng dång.
VI.3. Ph°¡ng théc
o Move: Di chuyÃn ô nhp liÇu ¿n tÍa Ù X, Y: Move X, Y.
o SetFocus: Ph°¡ng théc này nh±m måc ích thi¿t lp cho iÁu khiÃn ô
nhp liÇu nhn °ãc Focus, ngh)a là nó sµn sàng °ãc t°¡ng tác bßi ng°Ýi
sí dång.
VI.4. Sñ kiÇn:
o KeyPress: x£y ra khi ng°Ýi sí dång ch°¡ng trình nh¥n mÙt phím. Ñi
vÛi iÁu khiÃn TextBox, ta th°Ýng dùng nó Ã lÍc (filter out) các phím không ch¥p
nhn. Sñ kiÇn KeyPress cho ta mÙt mã Ascii, mÙt sÑ có giá trË të 0 ¿n 255, cça phím
vëa nh¥n. Trong ví då d°Ûi ây, TextBox Text1 s½ chÉ nhn bi¿t các phím là sÑ (0 - 9),
không nhn bi¿t các phím khác:
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii < 48 Or KeyAscii > 57 Then Mã Ascii cça 0 là 48, cça 9 là 57
KeyAscii = 0
End If
End Sub
o KeyDown, KeyUp: m×i sñ kiÇn KeyPress l¡i cho ta mÙt c·p sñ kiÇn
KeyDown/KeyUp. Sñ kiÇn KeyDown/KeyUp có 2 tham sÑ là KeyCode và Shift. Sñ
kiÇn này cho phép ta nhn bi¿t °ãc các phím ·c biÇt trên bàn phím. Trong ví då d°Ûi
ây, ta hiÃn thË tên các phím chéc nng mà ng°Ýi sí dång ch°¡ng trình nh¥n vào:
Private Sub Text3_KeyDown(KeyCode As Integer, Shift As Integer)
If (KeyCode >= 112) And (KeyCode <= 123) Then
MsgBox "Ban vua nhan phim chuc nang: F" & _
Trim(Str(KeyCode - 111))
End If
End Sub
II. Sí dång các iÁu khiÃn
II.1 iÁu khiÃn danh sách các lña chÍn (List Box)
II.1.1. Khái niÇm:
iÁu khiÃn này hiÃn thË mÙt danh sách các Á måc mà ß ó ng°Ýi dùng có
thà chÍn lña mÙt ho·c nhiÁu Á måc
BiÃu t°ãng (Shortcut) trên hÙp công cå
iÁu khiÃn này hiÃn thË mÙt danh sách các Á måc mà ß ó ng°Ýi dùng có thà chÍn lña mÙt ho·c nhiÁu Á måc
List Box giÛi thiÇu vÛi ng°Ýi dùng mÙt danh sách các lña chÍn. MÙt cách
m·c Ënh, các lña chÍn hiÃn thË theo chiÁu dÍc trên mÙt cÙt và b¡n có thà thi¿t lp là
hiÃn thË theo nhiÁu cÙt. N¿u sÑ l°ãng các lña chÍn nhiÁu và không thà hiÃn thË h¿t
trong danh sách thì mÙt thanh tr°ãt s½ tñ Ùng xu¥t hiÇn trên iÁu khiÃn. D°Ûi ây là
mÙt ví då vÁ danh sách các lña chÍn ¡n cÙt.
II.1.2. ThuÙc tính:
o Name: ây là tên cça danh sách lña chÍn, °ãc sí dång nh° mÙt Ënh danh.
o MultiSelect: ThuÙc tính này cho phép List Box có °ãc phép có nhiÁu lña
chÍn khi thñc thi hay không?
o Sort: List Box có s¯p x¿p hay không?
o Ngoài ra còn có mÙt sÑ thuÙc tính thông dång khác nh°: Font, Width,
Height&
o ListIndex: VË trí cça ph§n tí °ãc lña chÍn trong List Box.
o Select(<Index>): cho bi¿t ph§n tí thé <Index> trong List Box có °ãc chÍn
hay không?
II.1.3. Ph°¡ng théc:
o AddItem: Thêm mÙt ph§n tí vào List Box. Cú pháp:
<Name>.AddIem(Item As String, [Index])
o RemoveItem: Xóa mÙt ph§n tí ra khÏi List Box.
Cú pháp: <Name>.RemoveItem Index
Tham sÑ Name và Index giÑng nh° ß tr°Ýng hãp thêm vào mÙt Á måc.
o Clear: Xóa t¥t c£ các måc trong List Box. Cú pháp <Name>.Clear
o Text: Nhn giá trË të List Box khi mÙt Á måc °ãc chÍn. Ch³ng h¡n o¡n
mã sau ây s½ cho bi¿t dân sÑ cça Canada khi ng°Ýi dùng chÍn Canada të List Box.
Private Sub List1_Click ()
If List1.Text = "Canada" Then
Text1.Text = "Canada has 24 million people."
End If
End Sub
o List: truy xu¥t nÙi dung ph§n tí b¥t kó trong List Box.
ThuÙc tính này cho phép truy xu¥t t¥t c£ các Á måc cça iÁu khiÃn List
Box. ThuÙc tính này chéa mÙt m£ng và m×i Á måc là mÙt ph§n tí cça m£ng. M×i Á
måc °ãc hiÃn thË d°Ûi d¡ng chu×i, Ã tham chi¿u ¿n mÙt Á måc trong danh sách, sí
dång cú pháp sau:
<Name>.List(Index)
Ví då: Text1.Text = List1.List(2)
II.1.4. Sñ kiÇn:
o Click & Double Click: X£y ra khi ng°Ýi sí dång nh¥p chuÙt (hay nh¥p
úp) vào List Box.
Thông th°Ýng ng°Ýi sí dång s½ thi¿t k¿ mÙt nút lÇnh i kèm à nhn vÁ
giá trË do ng°Ýi dùng chÍn. Khi ó công viÇc thñc hiÇn sau khi nút lÇnh °ãc chÍn s½
phå thuÙc vào giá trË ng°Ýi dùng chÍn të List Box.
Double Click lên mÙt Á måc trong danh sách cing có k¿t qu£ t°¡ng tñ
nh° viÇc chÍn mÙt Á måc trong danh sách rÓi ¥n lên nút lÇnh. Ã thñc hiÇn công viÇc
nh° trên trong sñ kiÇn Double Click cça List Box ta s½ gÍi ¿n sñ kiÇn Click cça nút
lÇnh.
II.2 iÁu khiÃn hÙp lña chÍn (Combo Box)
iÁu khiÃn Combo Box có thà °ãc xem là tích hãp giïa hai iÁu khiÃn
Text Box và "$(<âp
4
Ä
Ú
ª
¸
Ú
‚ æ x'ÖÚv f&8¨ª:Ôlìîð,PRTz|-'¼ÒØÞäæúèÙ;Ͷ;;;ͶͶ;ͶͶͧ͛Ͷ;;§Í§¾Í¾§Í§¾§¾‰¾Í¾Í¾Í#hü'56B*CJ\]aJphhü'B*CJaJphhü'6B*CJ]aJphhü'B*phhü'5B*CJ\aJphhü'B*CJaJphhÑchü'B*CJ.aJ$ph#hÑchü'5B*CJ.\aJ$ph
h™CJF4$Ââp
¸
À
^
÷âÉ'Ÿ†'m'm'$
Æà„xdVþ1$7$8$H$^„xa$gd™$
ÆP
„dÛþ1$7$8$H$^„a$gd™ $„° dVþ1$7$8$H$^„° a$gd™ $„dÛþ1$7$8$H$^„a$gd™$
Æà„xd³þ1$7$8$H$^„xa$gd™ $„dpþ1$7$8$H$^„a$gd™ $a$gd™
ÎJnSýý
¦
>
Ú
‚ æ x°Úv ¾f
&ºh êѼê§'§Ñ'§'§§ê¼ê $„àdVþ1$7$8$H$^„àa$gd™ $„dÛþ1$7$8$H$^„a$gd™ $„àdcþ1$7$8$H$^„àa$gd™$
Æà„xdcþ1$7$8$H$^„xa$gd™ $„dÎþ1$7$8$H$^„a$gd™h ¦J¨ª:ÔvÊb êж¡Œwêb¡w¡ $„dÎþ1$7$8$H$^„a$gd™ $„àdVþ1$7$8$H$^„àa$gd™ $„å"d³þ1$7$8$H$^„å"a$gd™ $„dÛþ1$7$8$H$^„a$gd™$
ƂЄdÛþ1$7$8$H$^„a$gd™$
Æ@„dÎþ1$7$8$H$^„a$gd™ $„àdcþ1$7$8$H$^„àa$gd™
hîRÚ ¶ÚêѼ§Ž§y'$
Æ° „HdHþ1$7$8$H$^„Ha$gd™ $„àdÛþ1$7$8$H$^„àa$gd™$
Æà„xdVþ1$7$8$H$^„xa$gd™ $„ dcþ1$7$8$H$^„ a$gd™ $„ dVþ1$7$8$H$^„ a$gd™$
Æà„xdcþ1$7$8$H$^„xa$gd™ $„ªdVþ1$7$8$H$^„ªa$gd™˜°Ôü-ª-V æ͸›†q\G $„dÛþ1$7$8$H$^„a$gd™ $„HdVþ1$7$8$H$^„Ha$gd™ $„(d¦þ1$7$8$H$^„(a$gd™ $„dHþ1$7$8$H$^„a$gd™$„HdÛþ&d1$7$8$H$PÆÿ^„Ha$gd™ $„Hdpþ1$7$8$H$^„Ha$gd™$
Æ° „HdVþ1$7$8$H$^„Ha$gd™$
Æ° „Hdcþ1$7$8$H$^„Ha$gd™(Ôúü--¤!Ä!Æ!Ê!Ò!d#r#Ö#Ú#â#-$š$°$p%r%t%x%€%&$'('>'z'òæ×˼°æ¼°æ¡æ¡æ°¡æ•¡æ‡x°meæY¡æhü'B*CJ aJ phhü'B*phhü'5B*\phhü'hü'B*CJaJphjhü'UmHnHuhü'B*CJaJphhü'5B*CJ\aJphhü'B*CJaJphhü'5B*CJ\aJphhü'B*CJ$aJ$phhü'5B*CJ$\aJ$phhü'B*CJaJphhü'>*B*CJaJphV à t!¤!Æ!T"#'#Ö#j$-$êÕêÀ§''§y'$
Æõ„ dVþ1$7$8$H$^„ a$gd™ $„dÛþ1$7$8$H$^„a$gd™$
Æõ„ dHþ1$7$8$H$^„ a$gd™ $„(d³þ1$7$8$H$^„(a$gd™ $„-dcþ1$7$8$H$^„-a$gd™ $„dÎþ1$7$8$H$^„a$gd™
-$%t%&¶&$'z'|' '
(((Â(j)ö)åзÐз¢¢‰t‰ÐÐ $„(d³þ1$7$8$H$^„(a$gd™$
Æõ„ dHþ1$7$8$H$^„ a$gd™ $„(døý1$7$8$H$^„(a$gd™$
Æõ„ d.þ1$7$8$H$^„ a$gd™ $„dÛþ1$7$8$H$^„a$gd™$
Æõø„ dVþ1$7$8$H$^„ a$gd™
z'|'ž' '¤'¬'ö'(
(&(,(J(ö)ú)
*À+ä+æ+ú+B,F,',¨-¬-Ì-:.<.l/‚/'/¸/ê/î/000Ò0Ö0ì0b1ðáÕɺɺÉáպɮºÉŸÉŸÉ"ºÉ‡ºÉºÉwwwkɇºÉhü'B*CJaJphhü'B*phhü'B*phÿhü'B*CJ"aJ"phhü'B*CJ aJ phhü'6B*CJ]aJphhü'B*CJaJphhü'5B*CJ\aJphhü'B*CJaJphhü'B*CJaJphhü'5B*CJ\aJphhÑc5B*CJ\aJph'ö)„* +†+ ,B,Ô,~-¨-2.Ü.l/æÑѼ§ŽÑÑuÑÑ$
Æõ„ d þ1$7$8$H$^„ a$gd™$
Æõ„ d.þ1$7$8$H$^„ a$gd™ $„àdÎþ1$7$8$H$^„àa$gd™ $„° dpþ1$7$8$H$^„° a$gd™ $„dÛþ1$7$8$H$^„a$gd™$
Æõ„ dHþ1$7$8$H$^„ a$gd™
l/Ô/000¨0Ò0b1d1åÌ·ž‰t[F $„d›ý1$7$8$H$^„a$gd™$
Æõ„ dþ1$7$8$H$^„ a$gd™ $„àdÎþ1$7$8$H$^„àa$gd™ $„° dcþ1$7$8$H$^„° a$gd™$
Ƙ
„° d;þ1$7$8$H$^„° a$gd™ $„° d+ÿ1$7$8$H$^„° a$gd™$
Æý „ dèþ1$7$8$H$^„ a$gd™$
Æu-„2
d˜þ1$7$8$H$^„2
a$gd™d1f1h1j1l1n1p1"1¸1N2è2<3b3æææææÕ¼§'}'h $„(d³þ1$7$8$H$^„(a$gd™ $„dÛþ1$7$8$H$^„a$gd™ $„ dVþ1$7$8$H$^„ a$gd™ $„(d¦þ1$7$8$H$^„(a$gd™$„X„Ðd›ý1$7$8$H$^„X'„Ða$gd.c$d›ý1$7$8$H$a$gd.c$„X„Ðd›ý1$7$8$H$^„X'„Ða$gdÑc
b1n1p1'1"1¶1¸1<3'3b3f3n3V4Z4h4æ4²5Ò546\6P7v7x7|7„7Æ7Ø7Ü7ú7ü78
8'8j8Þ8ð8l9ˆ9ª9¬9Ì9Î9b:;ž<$=Ü>ô>Ò?ðáÒÆ·«Ÿ·«ŸŸˆ}ˆŸŸŸ·«ŸŸŸ·«ŸŸŸŸðÒÆ·«ŸˆŸˆŸŸhü'5B*\phhü'B*phhü'5B*CJ\aJphhü'B*CJaJphhü'B*CJaJphhü'5B*CJ\aJphhü'B*CJ$aJ$phhü'5B*CJ$\aJ$phh.c5B*CJ$\aJ$phhÑc5B*CJ$\aJ$ph0b3ø3æ4"5®506Â6P7x7Ü7ü7\8Ú8æѼ§æŽ¼yæyæŽ $„(d³þ1$7$8$H$^„(a$gd™$
Æõ„ dcþ1$7$8$H$^„ a$gd™ $„dÎþ1$7$8$H$^„a$gd™ $„dÛþ1$7$8$H$^„a$gd™ $„dÛþ1$7$8$H$^„a$gd.c$
Æõ„ dHþ1$7$8$H$^„ a$gd™
Ú8l9n9p9r9t9v9x9z9|9~9€9‚9„9†9ˆ9¬9Î9æÑÑÑÑÑÑÑÑÑÑÑÑÑѼ§ $„(d¦þ1$7$8$H$^„(a$gd™ $„Ðdcþ1$7$8$H$'„Ða$gd.c $„dcþ1$7$8$H$^„a$gd™$
Æõ„ dVþ1$7$8$H$^„ a$gd™Î9b:;ž;ò;ˆ<ž<$=f=è=‚> ?êÕÀ«êÀ-h$
Æ„
dVþ1$7$8$H$^„
a$gd™ $„àdÛþ1$7$8$H$^„àa$gd™ $„
dVþ1$7$8$H$^„
a$gd™ $„Hdcþ1$7$8$H$^„Ha$gd™ $„dÛþ1$7$8$H$^„a$gd™ $„dÎþ1$7$8$H$^„a$gd™ $„HdVþ1$7$8$H$^„Ha$gd™
?²?N@A&APA¶AÔA'BxBêÕÀ«-}h}« $„(d³þ1$7$8$H$^„(a$gd™$
Æ° „HdHþ1$7$8$H$^„Ha$gd™ $„(d¦þ1$7$8$H$^„(a$gd™ $„dÛþ1$7$8$H$^„a$gd™ $„àdÎþ1$7$8$H$^„àa$gdÑc $„àdÛþ1$7$8$H$^„àa$gd™ $„àdÎþ1$7$8$H$^„àa$gd™ Ò?Ü?â?ì?î?
@
@@@,@6@L@N@Z@b@&ANAPATA\A A²A¶AÒAÔAØAöA'BxBBÈBÊBèBêBÈDlEŒEðÞðÒðÒðÒðÞðÒÃðÒ'¨Ò™Ò™Ò'¨'†'Òwh\'¨'Ò'hü'B*CJ$aJ$phhü'5B*CJ$\aJ$phhÑc5B*CJ$\aJ$phhü'5B*\phhü'B*phhü'5B*CJ\aJphhü'B*CJaJphhü'5B*CJ\aJphh™6B*CJ]aJphhü'B*CJaJph#hü'56B*CJ\]aJphhü'6B*CJ]aJph$xBzB|B~B€B‚B„B†BˆBŠBŒBŽBBÊBêBzC DêêêêêêêêêêêêêÕ»¦ $„dÛþ1$7$8$H$^„a$gd™$
Æxº„HdVþ1$7$8$H$^„Ha$gd™ $„(d¦þ1$7$8$H$^„(a$gd™ $„d.þ1$7$8$H$^„a$gd™ DÈDElEŽEFŠF&G\GöG6HÀHêÕÀ«'y'ÕyÕy$
Æ° „Hdcþ1$7$8$H$^„Ha$gd™$
Æ° „HdVþ1$7$8$H$^„Ha$gd™$
Æ° „HdHþ1$7$8$H$^„Ha$gd™ $„(d³þ1$7$8$H$^„(a$gd™ $„HdVþ1$7$8$H$^„Ha$gd™ $„dÛþ1$7$8$H$^„a$gd™ $„dÎþ1$7$8$H$^„a$gd™
ŒEŽE'EšEF$FŠFŽFœF&G'GlG:HHHKKKKL0LŽL®L°L'L¼LMMM<M>MBMLMvN¨N²N2O"O-OlPnPrP¤P¦PÆPÈPZQóçØçØçÐÅÐçØçØçÐÅÐçØç¶óçØçØç¶óÐÅÐçÅÐ窞ª€t¶óÐhü'B*CJ$aJ$phhü'5B*CJ$\aJ$phhÑc5B*CJ$\aJ$phhü'B*CJ aJ phhü'B*CJaJphhü'5B*CJ\aJphhü'5B*\phhü'B*phhü'5B*CJ\aJphhü'B*CJaJphhü'B*CJaJph-ÀHjIJÒJKK
LŽL°LM>MÐMêêêռ꣎u'u $„(d³þ1$7$8$H$^„(a$gd™$
Æ° „HdHþ1$7$8$H$^„Ha$gd™ $„(dÀþ1$7$8$H$^„(a$gd™$
Æ° „HdVþ1$7$8$H$^„Ha$gd™$
Æ° „Hd;þ1$7$8$H$^„Ha$gd™ $„dÎþ1$7$8$H$^„a$gd™ $„dÛþ1$7$8$H$^„a$gd™
ÐMvN¨N2O"O-OÐO"P\PlPnPêêÕêÀ«-lW $„ud+ÿ1$7$8$H$^„ua$gd™ $„àdÿ1$7$8$H$^„àa$gd™ $„€
dÿ1$7$8$H$^„€
a$gd™ $„° dÿ1$7$8$H$^„° a$gd™ $„àd˜þ1$7$8$H$^„àa$gd™ $„àd+ÿ1$7$8$H$^„àa$gd™ $„° dcþ1$7$8$H$^„° a$gd™ $„dÛþ1$7$8$H$^„a$gd™
nPpPrP¦PÈPZQR¸R'StSÂSæSpTêêêÕÀ«-«-Õh$
Æ° „HdHþ1$7$8$H$^„Ha$gd™ $„Hdcþ1$7$8$H$^„Ha$gd™ $„dÎþ1$7$8$H$^„a$gd™ $„dÛþ1$7$8$H$^„a$gd™ $„HdVþ1$7$8$H$^„Ha$gd™ $„(d¦þ1$7$8$H$^„(a$gd™ $„døý1$7$8$H$^„a$gd™
ZQÂSäSæSêSòStT†TUªUüUVVŠV2W>W@WdWêWhXjXnXzXLZvZzZ'Z]ž]¢]'].^N^j^Ø^ø^V_Z_l_â_'
''˜'@aDaRaÒa<bÎbìb cc ccnc€cóäØóÉóÉóÁóÁ¶ÁóÉóªÁóžÁ¶ÁóÁ¶ÁóÁ¶ÁóóÉóÁ¶ÁóÁ¶ÁóÁ¶ÁóÁóäØóÉóÉhü'6B*CJ]aJphhü'B*CJaJphhü'B*CJ aJ phhü'5B*\phhü'B*phhü'5B*CJ\aJphhü'B*CJaJphhü'5B*CJ\aJphhü'B*CJaJph8pTUªUüUŠV2W@WdWêWjXöX YLZvZæÑÑÑѼ§¼'yÑÑÑ$
Æ° „Hd¦þ1$7$8$H$^„Ha$gd™ $„àdÛþ1$7$8$H$^„àa$gd™ $„° d¦þ1$7$8$H$^„° a$gd™ $„° dcþ1$7$8$H$^„° a$gd™ $„dÛþ1$7$8$H$^„a$gd™$
Æ° „Hdcþ1$7$8$H$^„Ha$gd™
vZüZª[P\î\]ž].^Ô^V_â_'åÐÐлСЈnÐ$
Æ° (#„HdVþ1$7$8$H$^„Ha$gd™$
Æ° „Hdcþ1$7$8$H$^„Ha$gd™$
Æ° Ø„HdHþ1$7$8$H$^„Ha$gd™ $„dÎþ1$7$8$H$^„a$gd™ $„dÛþ1$7$8$H$^„a$gd™$
Æ° â„HdHþ1$7$8$H$^„Ha$gd™
'˜'@aÒa<bÎbìbc„cæѸѣŽy'$
Æ° „HdHþ1$7$8$H$^„Ha$gd™ $„(d³þ1$7$8$H$^„(a$gd™ $„dÎþ1$7$8$H$^„a$gd™ $„° dcþ1$7$8$H$^„° a$gd™$
Æ° „Hdcþ1$7$8$H$^„Ha$gd™ $„dÛþ1$7$8$H$^„a$gd™$
Æ° „HdVþ1$7$8$H$^„Ha$gd™€c‚c„cˆc˜c d²dÌdÎdÐdÔdädf˜g®gàgägügJh"hÎhÒhîh2kHkvkzkškžk¶kºkllœlºl¼lìlîlmmhmóçßÔßóŶóßÔß󪞪žªßªó¶óªžªžªžªžªžªuufhÑc5B*CJ\aJphhÑcB*CJ$aJ$phhÑc5B*CJ$\aJ$phh'PÔCJ OJQJ^JaJ hü'B*CJ aJ phhü'B*CJ aJ phÿhü'5B*CJ\aJphhü'5B*CJ\aJphhü'5B*\phhü'B*phhü'B*CJaJphhü'B*CJaJph(„c d d²dÐdZef¬fZg˜gügåÐл¢x^$
ÆZ
z„˜d¦þ1$7$8$H$^„˜a$gd™ $„dÎþ1$7$8$H$^„a$gd™ $„dÛþ1$7$8$H$^„a$gd™$
Æ° „HdHþ1$7$8$H$^„Ha$gd™ $„(d³þ1$7$8$H$^„(a$gd™ $„HdÛþ1$7$8$H$^„Ha$gd™$
Æ° R"„Hd;þ1$7$8$H$^„Ha$gd™
üg"h®h¾hÎhRiæi'j2k¶kæѼ£ŠuuuY$
Æ
Z
Šú-„˜d¦þ1$7$8$H$^„˜a$gd™ $„dÛþ1$7$8$H$^„a$gd™$
Æ° „HdHþ1$7$8$H$^„Ha$gd™$
Æz „µ dÿ1$7$8$H$^„µ a$gd™ $„š dÿ1$7$8$H$^„š a$gd™ $„Ê dÿ1$7$8$H$^„Ê a$gd™$
ÆZ„dèþ1$7$8$H$^„a$gd™ ¶kljlœlªlºl¼l¾lÀlÂlÄlÆlÈlæѼ§†}kkkkkk„dÃý1$7$8$H$^„gdÑc 7$8$H$gd'PÔ!$
Æj
„Šdÿ&d1$7$8$H$PÆÿ^„Ša$gd™ $„2
dÿ1$7$8$H$^„2
a$gd™ $„Udÿ1$7$8$H$^„Ua$gd™ $„Ê dÿ1$7$8$H$^„Ê a$gd™$
Æj„2
dÿ1$7$8$H$^„2
a$gd™
ÈlÊlÌlÎlmjmmndn²n†opííí×ų¡¡}k„HdHþ1$7$8$H$^„HgdÑc„HdVþ1$7$8$H$^„HgdÑc„dÎþ1$7$8$H$^„gdÑc„Hdcþ1$7$8$H$^„HgdÑc„@dVþ1$7$8$H$^„@gdÑc„(d¦þ1$7$8$H$^„(gdÑc„X„ÐdÃý1$7$8$H$^„X'„Ðgd.c„dÃý1$7$8$H$^„gdÑc
hmjmŽmmn²n@o„onqtrvrœr¢rªr8sNst tòtunu~uˆuŒu¼uÆuvBvHvVvªvèvòvövüvwlwtwxwŒwŽw˜wªw²w¼wÆw$x.xŠx'x-x x¦x®xÚyðyz zBzJz¦zóäØÐØÐØÐØÄäØäØäØäØäØäµäصØäØäØäµäØäØäØäصØäصØäØäصØäئš¦š¦šhÑcB*CJaJphhÑc5B*CJ\aJphhÑc6B*CJ]aJphhÑcB*CJaJphhÑcB*phhÑcB*CJaJphhÑc5B*CJ\aJphhÑcB*CJaJph<pÄpnqrvržr4sÈstPtÞtîtííÛÉ·¡Šíttí
ÆH„àdVþ1$7$8$H$^„àgdÑc
ÆH „àdcþ1$7$8$H$^„àgdÑc
ÆH„àdHþ1$7$8$H$^„àgdÑc„@dcþ1$7$8$H$^„@gdÑc„@d+ÿ1$7$8$H$^„@gdÑc„dÎþ1$7$8$H$^„gdÑc„dÛþ1$7$8$H$^„gdÑc
îtjuvvDvªvøvXwšw x¢x8yÚyéÓÁ¯Ó‡q‡ÓÁ
ÆØ„° dÛþ1$7$8$H$^„° gdÑc
ÆH„àdHþ1$7$8$H$^„àgdÑc„° dpþ1$7$8$H$^„° gdÑc„@dcþ1$7$8$H$^„@gdÑc„dÛþ1$7$8$H$^„gdÑc
ÆH„àdVþ1$7$8$H$^„àgdÑc
ÆH„àdcþ1$7$8$H$^„àgdÑc
ÚyzLz¦z'zÄz8{:{Ê{j|í×ų¡‹}gU„dÛþ1$7$8$H$^„gdÑc„@„Ðdpþ1$7$8$H$^„@'„Ðgd.c
d³þ1$7$8$H$gd?T0„ „Ðdÿ1$7$8$H$^„ '„Ðgd?T0„° dÿ1$7$8$H$^„° gd?T0„€
dÿ1$7$8$H$^„€
gdÑc„Pdÿ1$7$8$H$^„PgdÑc
Æ]„€
dÿ1$7$8$H$^„€
gdÑc„° d˜þ1$7$8$H$^„° gdÑc ¦z²z'zÂzÄzÈzÐz8{:{Ê{j|8}@}D}L}N}X}\}f}j} }À}Æ}î}v~¬œ€FüƒƒƒXƒZƒ\ƒæƒþƒØŠØúØ0ÚbÝfÝðäðÕɺɲɲɺɺɣɺɲºÉºÉ²É²É•†z†z²É²x²É²ÉlhÑcB*CJaJphUhÑcB*CJaJphhÑc5B*CJ\aJphjhÑcUmHnHuhÑc6B*CJ]aJphhÑcB*phhÑc5B*CJ\aJphhÑcB*CJaJphh?T05B*CJ\aJphhÑcB*CJaJphhÑc5B*CJ\aJph*j|}6}\} }Â}P~v~¬€œ€FíÛÉ·¥Û}ÛíkÛ„° d˜þ1$7$8$H$^„° gdÑc„° d¦þ1$7$8$H$^„° gdÑc
ÆH„àdHþ1$7$8$H$^„àgdÑc„@dcþ1$7$8$H$^„@gdÑc„° d‹þ1$7$8$H$^„° gdÑc„€
dÎþ1$7$8$H$^„€
gdÑc„dÛþ1$7$8$H$^„gdÑc„dÎþ1$7$8$H$^„gdÑc
FðüZƒ\ƒæƒŠØúØ„Ù0ÚÒÚnÛªÛüÛíÛɾ¨-í„--í-„„:d˜þ1$7$8$H$^„:gdÑc„dÛþ1$7$8$H$^„gdÑc
Æ5#„:dVþ1$7$8$H$^„:gdÑc
1$7$8$H$gdÑc„(d+ÿ1$7$8$H$^„(gd.c„dÛþ1$7$8$H$^„gd¸gi„dÎþ1$7$8$H$^„gdÑc
List Box. Ng°Ýi dùng có thà chÍn mÙt Á måc b±ng cách ánh chu×i vn
b£n vào Combo Box ho·c chÍn mÙt Á måc trong danh sách.
iÃm khác nhau c¡ b£n giïa Combo Box và List Box là iÁu khiÃn Combo
chÉ gãi ý (hay Á nghË) các lña chÍn trong khi ó iÁu khiÃn List thì giÛi h¡n các Á
måc nhp vào téc là ng°Ýi dùng chÉ có thà chÍn nhïng Á måc có trong danh sách.
iÁu khiÃn Combo chéa c£ ô nhp liÇu nên ng°Ýi dùng có thà °a vào mÙt Á måc
không có sµn trong danh sách.
BiÃu t°ãng short cut trên hÙp công cå:
Các d¡ng cça iÁu khiÃn Combo Box: Có t¥t c£ 3 d¡ng cça iÁu khiÃn
Combo Box. Ta có thà chÍn d¡ng cça Combo t¡i thÝi iÃm thi¿t k¿ b±ng cách dùng giá
trË ho·c h±ng chu×i cça VB.
KiÃu Giá
Drop-down Combo Box
Simple Combo Box
Drop-down List Box
0
1
2
trË
H±ng
VbComboDropDown
VbComboSimple
vbComboDropDownList
Drop-down combo box
Simple combo box
Hình V.4: Các d¡ng combo box
Drop-down list box
- Drop-down Combo Box: ây là d¡ng m·c nhiên cça Combo. Ng°Ýi
dùng có thà nhp vào trñc ti¿p ho·c chÍn të danh sách các Á måc.
- Simple Combo Box: Ta có thà hiÃn thË nhiÁu Á måc cùng mÙt lúc. Ã
hiÃn thË t¥t c£ các Á måc, b¡n c§n thi¿t k¿ Combo ç lÛn. MÙt thanh tr°ãt s½ xu¥t hiÇn
khi còn Á måc ch°a °ãc hiÃn thË h¿t. Þ d¡ng này, ng°Ýi dùng v«n có thà nhp mÙt
chu×i vào trñc ti¿p ho·c chÍn të danh sách các Á måc.
- Drop down List Box: D¡ng này r¥t giÑng nh° mÙt List box. MÙt iÃm
khác biÇt ó là các Á måc s½ không hiÃn thË ¿n khi nào ng°Ýi dùng Click lên mii tên
phía ph£i cça iÁu khiÃn. iÃm khác biÇt vÛi d¡ng thé 2 ó là ng°Ýi dùng không thÃ
nhp vào trñc ti¿p mÙt chu×i không có trong danh sách.
Các thuÙc tính cing nh° các ph°¡ng théc áp dång trên Combo Box giÑng nh° trên List Box.
II.3 iÁu khiÃn hÙp ánh d¥u (Check Box)
II.3.1. Khái niÇm:
ây là iÁu khiÃn hiÃn thË d¥u #ð n¿u nh° °ãc chÍn và d¥u #ð bË xoá n¿u
nh° không chÍn. Dùng iÁu khiÃn Check Box à nhn thông tin të ng°Ýi dùng theo
d¡ng Yes/No ho·c True/False. Ta cing có thà dùng nhiÁu iÁu khiÃn trong mÙt nhóm
à hiÃn thË nhiÁu kh£ nng lña chÍn trong khi chÉ có mÙt °ãc chÍn. Khi Check Box
°ãc chÍn, nó có giá trË 1 và ng°ãc l¡i có giá trË 0.
BiÃu t°ãng shortcut trên hÙp công cå
II.3.2. ThuÙc tính:
o Name: thuÙc tính tên.
o Value: Giá trË hiÇn thÝi trên Check Box. Có thà nhn các giá trË: vbChecked,
vbUnchecked, vbGrayed.
II.3.3. Sñ kiÇn:
o Click: X£y ra khi ng°Ýi sí dång nh¥p chuÙt trên Check Box.
II.4 iÁu khiÃn nút lña chÍn (Option Button)
II.4.1. Khái niÇm:
Công dång cça iÁu khiÃn Option button cing t°¡ng tñ nh° iÁu khiÃn
Check Box. iÃm khác nhau chç y¿u giïa hai lo¡i iÁu khiÃn này ó là: Các Option
Button cça cùng mÙt nhóm t¡i m×i thÝi iÃm chÉ có mÙt iÁu khiÃn nh¥t Ënh °ãc
chÍn.
BiÃu t°ãng Shortcut trên hÙp công cuï
Cách sí dång Option button cing t°¡ng tñ nh° cça Check Box.
T¡o nhóm Option Button
T¥t c£ các Option button ·t trñc ti¿p trên biÃu m«u (có ngh)a là
không thuÙc vào Frame ho·c Picture Box) s½ °ãc xem nh° là mÙt
nhóm. N¿u ng°Ýi dùng muÑn t¡o mÙt nhóm các Option button khác thì
b¯t buÙc ph£i ·t chúng bên trong ph¡m vi cça mÙt Frame ho·c Picture
box.
II.4.2. ThuÙc tính:
o Name: thuÙc tính tên cça iÁu khiÃn Option Button.
o Value: Giá trË hiÇn thÝi trên Option Button. Có thà nhn các giá trË: True &
False.
II.4.3. Sñ kiÇn:
" Click: X£y ra khi ng°Ýi sí dång nh¥p chuÙt trên Option Button.
II.5 iÁu khiÃn thanh cuÙn ngang (HScrollBar)
II.5.1. Khái niÇm:
Là iÁu khiÃn có thanh tr°ãt cho phép cuÙn ngang và ng°Ýi dùng có thà sí
dång HScrollBar nh° mÙt thi¿t bË nhp ho·c mÙt thi¿t bË chÉ Ënh cho sÑ l°ãng ho·c
vn tÑc. Ví då ta thi¿t k¿ volume cho mÙt trò ch¡i trên máy tính ho·c à diÅn ¡t có
bao nhiêu thÝi gian trôi qua trong mÙt kho£ng Ënh thÝi nh¥t Ënh.
BiÃu t°ãng Shortcut trên hÙp công cuï
Khi ng°Ýi dùng sí dång Scroll Bar nh° mÙt thi¿t bË chÉ Ënh sÑ l°ãng thì
ng°Ýi dùng c§n xác Ënh giá trË cho hai thuÙc tính Max và Min à °a ra kho£ng thay
Õi thích hãp.
II.5.2. ThuÙc tính:
o Name: Tên cça thanh cuÙn.
o Min: Là giá trË nhÏ nh¥t trên thanh cuÙn.
o Max:: Giá trË lÛn nh¥t cça thanh cuÙn.
o Large change: ThuÙc tính này dùng à xác Ënh kho£ng thay Õi khi
ng°Ýi dùng ¥n chuÙt lên Hscrollbar.
o Small change: ThuÙc tính này dùng à xác Ënh kho£ng thay Õi khi
ng°Ýi dùng ¥n lên mii tên phía cuÑi thanh cuÙn.
o Value: ThuÙc tính này tr£ vÁ giá trË t¡i mÙt thÝi iÃm cça thanh cuÙn n±m
trong kho£ng giá trË [Min, Max] mà ng°Ýi dùng ã xác Ënh.
II.5.3. Sñ kiÇn:
o Change: X£y ra m×i khi HScrollBar thay Õi giá trË.
o Scroll: X£y ra m×i khi ta di chuyÃn con trÏ thanh cuÙn.
II.5.4. Ví då:
Hình V.7 minh hÍa viÇc sí dång thanh cuÙn à thay Õi kích cá cça ô Text hÍ tên vÛi
o¡n mã ¡n gi£n nh° sau:
Private Sub HScroll1_Change()
Text1.FontSize = HScroll1.Value
End Sub
II.6 iÁu khiÃn thanh cuÙn éng (VScrollBar)
BiÃu t°ãng shortcut trên hÙp công cuï
Các thuÙc tính và công dång cça VScrollBar cing t°¡ng tñ nh° HScrollBar.
II.7 iÁu khiÃn hÙp hình £nh (Picture Box)
II.7.1. Khái niÇm:
iÁu khiÃn Picture Box cho phép ng°Ýi dùng hiÃn thË hình £nh lên mÙt biÃu
m«u.
BiÃu t°ãng Shortcut trên hÙp công cå
II.7.2. ThuÙc tính:
o Name: tên cça iÁu khiÃn Picture Box.
o Picture: ây là thuÙc tính cho phép xác Ënh hình £nh nào s½ °ãc hiÃn thË
bên trong Picture box. Bao gÓm tên tp tin hình £nh và c£ °Ýng d«n n¿u có.
à hiÃn thË ho·c thay th¿ mÙt hình £nh t¡i thÝi iÃm ch¡y ch°¡ng trình
thì ng°Ýi dùng có thà dùng ph°¡ng théc LoadPicture à ·t l¡i giá trË cça thuÙc tính
Picture vÛi cú pháp nh° trong ví då d°Ûi ây:
picMain.Picture = LoadPicture("NEW.JPG")
o Autosize: Khi giá trË cça thuÙc tính này là TRUE thì iÁu khiÃn Picture
box s½ tñ Ùng thay Õi kích th°Ûc cho phù hãp vÛi hình £nh °ãc hiÃn thË. Ta nên
c©n thn khi sí dång thuÙc tính này vì khi iÁu khiÃn Picture Box thay Õi kích th°Ûc,
nó không quan tâm ¿n vË trí cça các iÁu khiÃn khác.
II.7.3. Sñ kiÇn:
o Mouse Down: X£y ra khi ng°Ýi sí dång ch°¡ng trình nh¥n giï phím
chuÙt.
o Mouse Move: X£y ra khi ng°Ýi sí dång ch°¡ng trình di chuyÃn chuÙt.
o Mouse Up: X£y ra khi ng°Ýi sí dång ch°¡ng trình th£ phím chuÙt.
II.7.4. Ví då:
II.7.5. L°u ý:
o iÁu khiÃn Picture Box có thà °ãc dùng nh° mÙt vt chéa các iÁu khiÃn
khác (t°¡ng tñ nh° mÙt Frame).
o Ngoài ra ng°Ýi dùng cing có thà sí dång Picture Box nh° mÙt khung v½
ho·c nh° mÙt khung so¡n th£o và có thà in °ãc nÙi dung trên ó.
II.8 iÁu khiÃn hình £nh (Image)
II.8.1. Khái niÇm:
iÁu khiÃn Image dùng à hiÃn thË mÙt hình £nh. Các d¡ng có thà là Bitmap,
Icon, Metafile, Jpeg, Gif. Tuy nhiên khác vÛi iÁu khiÃn Picture Box iÁu khiÃn Image
sí dång tài nguyên hÇ thÑng ít và cing n¡p £nh nhanh h¡n; h¡n nïa sÑ l°ãng thuÙc
tính và ph°¡ng théc áp dång ít h¡n iÁu khiÃn Picture box.
BiÃu t°ãng Shortcut trên hÙp công cå
II.8.2. ThuÙc tính:
o Name: tên cça iÁu khiÃn Image.
o Picture: ây là thuÙc tính cho phép xác Ënh hình £nh nào s½ °ãc hiÃn thË
bên trong iÁu khiÃn Image. Bao gÓm tên tp tin hình £nh và c£ °Ýng d«n n¿u có.
à hiÃn thË ho·c thay th¿ mÙt hình £nh t¡i thÝi iÃm ch¡y ch°¡ng trình
thì ng°Ýi dùng có thà dùng ph°¡ng théc LoadPicture à ·t l¡i giá trË cça thuÙc tính
Picture vÛi cú pháp nh° trong ví då d°Ûi ây:
imgMain.Picture = LoadPicture("NEW.JPG")
o Stretch: Khi giá trË cça thuÙc tính này là TRUE thì iÁu khiÃn Image s½ tñ
Ùng thay Õi kích th°Ûc cho phù hãp vÛi hình £nh °ãc hiÃn thË.
II.8.3. Sñ kiÇn:
o Mouse Down: X£y ra khi ng°Ýi sí dång ch°¡ng trình nh¥n giï phím
chuÙt.
o Mouse Move: X£y ra khi ng°Ýi sí dång ch°¡ng trình di chuyÃn chuÙt.
o Mouse Up: X£y ra khi ng°Ýi sí dång ch°¡ng trình th£ phím chuÙt.
II.9 iÁu khiÃn hình d¡ng (Shape)
BiÃu t°ãng Shortcut trên hÙp công cuï
iÁu khiÃn Shape dùng à v½ các hình d¡ng nh°: hình chï nht, hình vuông,
oval, hình tròn, hình chï nht góc tròn ho·c hình vuông góc tròn.
ThuÙc tính Shape cho phép ng°Ýi dùng chÍn 1 trong 6 d¡ng nh° ã nêu ß trên.
Sau ây là b£ng giá trË cça thuÙc tính này
II.10 iÁu khiÃn thÝi gian (Timer)
II.10.1. Khái niÇm:
iÁu khiÃn Timer áp éng l¡i sñ trôi i cça thÝi gian. Nó Ùc lp vÛi ng°Ýi
sí dång và ta có thà lp trình à thñc hiÇn mÙt công viÇc nào ó cé sau mÙt kho£ng
thÝi gian Áu nhau.
BiÃu t°ãng Shortcut trên hÙp công cuï
ViÇc °a mÙt iÁu khiÃn Timer và trong mÙt biÃu m«u cing t°¡ng tñ nh°
nhïng iÁu khiÃn khác. Þ ây, ta chÉ có thà quan sát °ãc vË trí cça iÁu khiÃn Timer
t¡i giai o¡n thi¿t k¿, khi ch¡y éng dång iÁu khiÃn Timer coi nh° không có thà hiÇn
trên biÃu m«u.
II.10.2. ThuÙc tính:
o Name: tên cça iÁu khiÃn Timer.
o Interval: ây là thuÙc tính chÉ rõ sÑ ms giïa hai sñ kiÇn k¿ ti¿p nhau. Trë
khi nó bË vô hiÇu hóa, m×i iÁu khiÃn Timer s½ luôn nhn °ãc mÙt sñ kiÇn sau mÙt
kho£ng thÝi gian Áu nhau.
ThuÙc tính Interval nhn giá trË trong kho£ng 0...64.767 ms có ngh)a là
kho£ng thÝi gian dài nh¥t giïa hai sñ kiÇn chÉ có thà là kho£ng mÙt phút (64.8 giây).
o Enabled: n¿u giá trË là True ngh)a là iÁu khiÃn Timer °ãc kích ho¡t và
ng°ãc l¡i.
II.10.3. Sñ kiÇn:
o Timer: x£y ra m×i khi ¿n thÝi gian mÙt sñ kiÇn °ãc thñc hiÇn (xác Ënh
trong thuÙc tính Interval).
II.10.4. Sí dång iÁu khiÃn Timer:
o Khßi t¡o mÙt iÁu khiÃn Timer: N¿u lp trình viên muÑn iÁu khiÃn
Timer ho¡t Ùng ngay t¡i thÝi iÃm biÃu m«u chéa nó °ãc n¡p thì ·t thuÙc tính
Enable là TRUE ho·c có thà dùng mÙt sñ kiÇn nào ó të bên ngoài à kích ho¡t iÁu
khiÃn Timer.
o Lp trình áp éng sñ kiÇn tr£ vÁ të iÁu khiÃn Timer: Ta s½ °a mã
lÇnh cça công viêc c§n thñc hiÇn vào trong sñ kiÇn Timer cça iÁu khiÃn Timer. Sau
ây là ví då khßi t¡o mÙt Óng hÓ sÑ nhÝ vào iÁu khiÃn Timer.
Private Sub Timer1_Timer()
If Label1.Caption <> CStr(Time) Then
Label1.Caption = Time
End If
End Sub
ThuÙc tính Interval °ãc thi¿t lp là 500 (téc 0.5 giây).
iÁu khiÃn Timer còn hïu ích trong viÇc tính toán thÝi gian cho mÙt công
viÇc nào ó, ¿n mÙt thÝi iÃm nào ó thì ta s½ khßi t¡o mÙt công viÇc mÛi ho·c ng°ng
mÙt công viÇc không còn c§n nïa.
II.11 iÁu khiÃn danh sách Õ )a (DriveListbox), danh sách th° måc
(DirListbox), danh sách tp tin (FileListbox)
II.11.1. Khái niÇm:
o iÁu khiÃn DriveListbox trình bày nhïng Õ )a cça hÇ thÑng và cho phép
ng°Ýi dùng chÍn mÙt trong nhïng Õ )a ó.
BiÃu t°ãng shortcut (DriveListbox) trên hÙp công cå
o iÁu khiÃn DirListbox cho phép trình bày nhïng th° måc và °Ýng d«n t¡i
thÝi iÃm ch¡y éng dång. Sí dång iÁu khiÃn này à trình bày mÙt danh sách có thé
bc cça các th° måc, có ngh)a là ng°Ýi dùng có thà mß mÙt tài liÇu të danh sách các
tài liÇu ã có sµn.
BiÃu t°ãng shortcut (DirListbox) trên hÙp công cå
o iÁu khiÃn FileListbox cho phép trình bày nhïng tài liÇu có sµn trong th°
måc hiÇn hành. B¡n có thà dùng thuÙc tính Partten à xác Ënh kiÃu tp tin nào °ãc
hiÃn thË trong danh sách.
BiÃu t°ãng shortcut (FileListbox) trên hÙp công cuï
Thông th°Ýng các éng dång s½ sí dång k¿t hãp c£ ba lo¡i iÁu khiÃn trên
là DriveListbox, DirListbox và FileListbox.
II.11.2. Ví då:
Các thuÙc tính °ãc thi¿t lp t¡i thÝi iÃm thi¿t k¿
FileListbox: Partten = "*.doc"
DriveListbox, DirListbox
FileListbox: FontName = "Vncourier New".
Téc là iÁu khiÃn FileListbox chÉ hiÃn thË các tp tin cça Microsoft Word.
o¡n mã d°Ûi ây °ãc vi¿t trong sñ kiÇn Load cça biÃu m«u
Private Sub Form_Load()
Dir1.Path = "c:\"
File1.Path = "c:\"
End Sub
o¡n mã trên cho phép xác Ënh °Ýng d«n hiÇn hành cça iÁu khiÃn
DirListbox, FileListbox t¡i thÝi iÃm n¡p éng dång là "C:\". Khi ch¡y éng dång ta
°ãc nh° hình V.10.
Khi ta thay Õi Õ )a thì các th° måc s½ thay Õi theo ó là nhïng th°
måc ß Õ )a hiÇn hành, sñ thay Õi cing diÅn ra t°¡ng tñ Ñi vÛi danh sách các tp tin.
C§n chú ý r±ng Ñi vÛi Õ )a mÁm và CD thì c§n thi¿t ph£i có )a mÁm ho·c CD t¡i
thÝi iÃm chÍn ß )a n¿u không s½ x£y ra l×i t¡i thÝi iÃm ch¡y éng dång.
Bên trên là nhïng o¡n mã áp éng l¡i viÇc ng°Ýi dùng chÍn viÇc thay
Õi Õ )a và th° måc. Trong danh sách các tp tin ta chÉ hiÃn thË nhïng file *.doc.
Control Data ADO va DAO:
Visual Basic 6 cho ta sñ lña chÍn vÁ kù thut khi lp trình vÛi database, ho·c là dùng DAO nh° trong hai bài tr°Ûc, ho·c là dùng ADO (ActiveX Data Objects).
Sñ khác biÇt chính giïa ADO và DAO là ADO cho phép ta làm viÇc vÛi mÍi lo¡i nguÓn dï kiÇn (data sources), không nh¥t thi¿t ph£i là Access database hay ODBC. NguÓn dï kiÇn có thà là danh sách các Ëa chÉ Email, hay mÙt file text string, trong ó m×i hàng là mÙt record gÓm nhïng fields ngn cách bßi các d¥u ph©y (comma separated values).
N¿u trong DAO ta dùng th³ng tên cça MSAccess Database thì trong ADO cho ta nÑi vÛi (connect) mÙt database qua mÙt Connection b±ng cách chÉ Ënh mÙt Connection String. Trong Connection String có Database Provider (thí då nh° Jet, ISAM, Oracle, SQLServer..v.v.), tên Database, UserName/Password à logon mÙt database .v.v.. Sau ó ta có thà l¥y vÁ (extract) nhïng recordsets, và cp nht hóa các records b±ng cách dùng nhïng lÇnh SQL trên các tables hay dùng nhïng stored procedures bên trong database.
-------------------------------------------------------------------------------------------------------
ADO ( hay ActiveX Data Object) la phien ban moi nhat cua Microsoft de truy xuat co so du lieu va duoc Microsoft khuyen dung mac du cac phien ban truoc nhu DAO, RDO deu co the thuc hien tot cong viec nay. Tuy nhien noi khong co gi moi cung khong phai :
Day la phien ban co cau truc phang hon, gon hon. VD ban co the truy cap den RecordSet ma khong phai qua Database object nhu DAO, hay ban co the Disconnect RecordSet khoi DataSource de lam viec roi sau do Connect va Update lai.
Dac diem tren la nho DataCursor day la noi chua du lieu, no la ban copy cua Database chinh thuc va ban se lam viec tren no. Ban co then thay doi no de phu hop voi yeu cau.
Ngoai ra, ADO con tiet kiem tai nguyen cua may, lam cho chay nhanh hon ( xin kiem tra lai gium vi chua thu bao gio).
Ngoai ra ADO con co 2 cong cu tu dong huu hieu la ADO Data Control va DataEnvironment. Hay ban co lap trinh truc tiep thong qua ADO Ocject Librabry.
Day la mot so su khac biet dang ke de so sanh va lua chon.
-------------------------------------------------------------------------------------------------------
Thêm vài thé nïa nhé: N¿u nh° b¡n có ý Ënh t¡o éng dång cho sí dång m¡ng thì nên dùng ADO ché không thì b¡n s½ g·p ngay r¯c rÑi vÁ truy xu¥t và cp nht dï liÇu trong Runtime. Còn cåc bÙ thì DAO cing có vài °u iÃm. Nói chung là ADO » sau nên có l½ là tÑt h¡n trong mÍi tr°Ýng hãp.
B¡n thí hình dung th¿ này nhé:
Cách truy xu¥t cça DAO: Database => Database Enginer = > DAO Object => Aply
Còn ADO: Database = > ODBC provider => ADO Object => Aply
-------------------------------------------------------------------------------------------------------
X-Men Visual Bsic 6.0
Trang : PAGE 1
X-Men Visual Bsic 6.0
. Trang : PAGE 19
Bạn đang đọc truyện trên: AzTruyen.Top