
H ng d n l p trình VB.ướ ẫ ậ NET Ch ng 4: Làm vi c v i menu và h pươ ệ ớ ộ
tho iạ
Ch ng ươ 4:
Làm vi c v i Menu và h p tho iệ ớ ộ ạ
--------oOo--------
N i dung th o lu n:ộ ả ậ
- Thêm menu vào ch ng trình v i đi u khi n ươ ớ ề ể MainMenu
- X lý m c ch n menu b ng mã l nhử ụ ọ ằ ệ
- S d ng h p tho i ử ụ ộ ạ OpenFileDialog và ColorDialog
1. S d ng đi u khi n ử ụ ề ể MainMenu
Đi u khi n Menu cho phép thêm vào ch ng trình các th c đ n. B n có th thêm m i,ề ể ươ ự ơ ạ ể ớ
hi u ch nh, s p x p l i, xóa các menu. B n cũng có th thêm các hi u ng nh gánệ ỉ ắ ế ạ ạ ể ệ ứ ư
phím t t, thêm d u ch n ắ ấ ọ CheckBox. B n có th t o s ki n cho menu b ng mã l nhạ ể ạ ự ệ ằ ệ
nh các đi u khi n khác.ư ề ể
D i đây chúng ta s s d ng menu qua bài t p ướ ẽ ử ụ ậ MyMenu
2. Ch ng trình ươ MyMenu
2.1. Tìm hi u ch ng trìnhể ươ
Chúng ta s tìm hi u ch ng trình thông qua các b c xây d ng.ẽ ể ươ ướ ự
2.2. Thi t k giao di nế ế ệ và xây d ng ch ng trình t ng b cự ươ ừ ướ
T o m i m t gi i pháp mạ ớ ộ ả ang tên MyMenu và thêm vào đó m t d án m i cùng tên nhộ ự ớ ư
đã bi t trong các bài t p tr c.ế ậ ướ
T i giao di n thi t k , các b n đ a đi u khi n ạ ệ ế ế ạ ư ề ể MenuStrip vào trong Form
b ng cách double click hay kéo th nh đã bi t.ằ ả ư ế
Chúng ta không c n quan tâm đần v trí c a menu trên form vì VS s t đ ng đ t nó saoế ị ủ ẽ ự ộ ặ
cho phù h p. Các b n có th thay đ i các thu c tính sao cho phù h p b ng cách click mợ ạ ể ổ ộ ợ ằ ở
Smart Tags là nút mũi tên tam giác màu đen bên góc ph i đi u khi n ả ề ể Menu.

H ng d n l p trình VB.ướ ẫ ậ NET Ch ng 4: Làm vi c v i menu và h pươ ệ ớ ộ
tho iạ
Khi đ c đ t vào form thì đi u khi n menu s đ c đ t t i m t vùng nh trên hình g iượ ặ ề ể ẽ ượ ặ ạ ộ ư ọ
là khay công c - Component trayụ và VS s hi n th tr c quan menu trên đ u c a sẽ ể ị ự ầ ử ổ
Form.
Chu i ỗType Here là n i b n có th click ch n và nh p vào các m c ch n cho menu.ơ ạ ể ọ ậ ụ ọ
Chúng ta s t o ra menu ngay sau đây.ẽ ạ
Nh p chu t vào chu i ắ ộ ỗ Type Here và gõ vào chu i “Clock” và n enter.ỗ ấ
Nh p chu t vào chu i ắ ộ ỗ Type Here con d i r i gõ Date, Time nh hìnhở ướ ồ ư
Đ đóng ph n thi t k menu, b n click vào m t vùng nào đó trên form, đ hi n th b nể ầ ế ế ạ ộ ể ể ị ạ
l i click vào menu ạClock nh trên.ư
Bây gi chúng ta s t o m t s tùy bi n cho Menu.ờ ẽ ạ ộ ố ế
2.2.1. Thêm phím truy c p vào các m c ch n l nh trên menuậ ụ ọ ệ
Trong m t s ph n m m hay ngay trình duy t Windows Explorer c a h đi u hành cácộ ố ầ ề ệ ủ ệ ề
b n có th n t h p ạ ể ấ ổ ợ Alt + phím t tắ đ m nhanh m t th c đ n nào đó. Các phím t t yể ở ộ ự ơ ắ ấ
đ c g i là phím truy c p – ượ ọ ậ Access Key. Phím này có d u g ch chân d i.ấ ạ ở ướ
Trong VS, đ t o phím này menu khá đ n gi n. B n ch vi c gõ thêm d u ‘&’ tr cể ạ ở ơ ả ạ ỉ ệ ấ ướ
ký t nào mu n hi n th g ch châự ố ể ị ạ n trong ph n ầType Here.
B n hãy t o ra các phím t t cho các m c ch n c a menu ạ ạ ắ ụ ọ ủ Clock nh hình:ư
2.2.2. Thay đ i th t các m c ch nổ ứ ự ụ ọ
Vi c thay đ i th t các m c ch n khá đ n gi n, b n m ch đ thi t k menu r iệ ổ ứ ự ụ ọ ơ ả ạ ở ế ộ ế ế ồ
nh p ch n m c ch n nào đó và kéo nó đ n v trí mong mu n.ắ ọ ụ ọ ế ị ố
B n th kéo m c ch n ạ ử ụ ọ Time lên thay cho v trí m c ch n ị ụ ọ Date xem.
2.2.3. X lý các m c ch nử ụ ọ

H ng d n l p trình VB.ướ ẫ ậ NET Ch ng 4: Làm vi c v i menu và h pươ ệ ớ ộ
tho iạ
Bây gi chúng ta t o ra s ki n click cho các m c ch n c a menu. Khi b n click vàoờ ạ ự ệ ụ ọ ủ ạ
Date hay Time thì m t nhãn ộLabel s xu t hi n và hi n th thông tin ngày hay gi t ngẽ ấ ệ ể ị ờ ươ
ng.ứ
Đ làm đ c nh th , tr c h t b n t o ra m t Label vào trong form.T o thu c tínhể ượ ư ế ướ ế ạ ạ ộ ạ ộ
cho đ i t ng ố ượ Label1 nh sau: ưBorderStyle – FixedSingle; Font – Bold 14; Text – r ng;ỗ
TextAlign – MiddleCenter.
Cài đ t th t c s ki n cho m c ch n menuặ ủ ụ ự ệ ụ ọ
Bây gi chúng ta s t o s ki n click cho các m c con trong ờ ẽ ạ ự ệ ụ menu Clock.
Nh p vào menu Clock trên form1 đ hi n th menu conắ ể ể ị
Nh p đôi chu t vào m c ch n Time đ m c a s Code Editor và t o ra m t th t c cóắ ộ ụ ọ ể ở ử ổ ạ ộ ủ ụ
tên TimeToolStripMenuItem_Click. Trong VS.NET 2005 thì khi b n gõ tên m c ch nạ ụ ọ
là gì thì m c đ nh khi double click đ vi t mã thì VS s t o ra m t th t c có ph n đ uặ ị ể ế ẽ ạ ộ ủ ụ ầ ầ
tên trùng v i tên m c ch n (ph n tên ch a có d u cách tr ng phân cách tên m c ch n)ớ ụ ọ ầ ư ấ ố ụ ọ
menu ( trên là ởTimeToolStripMenuItem_Click). T t nhiên đây là default, b n có thấ ạ ể
thay đ i tên nh thu c tính ổ ờ ộ Name c a s ở ử ổ Properties.
Nh p dòng mã sau:ậ
Label1.Text = TimeString
T ng t v i th t c ươ ự ớ ủ ụ DateToolStripMenuItem_Click c a m c ch n ủ ụ ọ Date
Label1.Text = DateString
2.2.4. Ch y ch ng trình MyMenuạ ươ
B n th ch y ch ng trình xemạ ử ạ ươ . Các thông tin v ngày tháng và th i gian s đ c hi nề ờ ẽ ượ ể
th bên trong lable11 khi b n click ch n m c ch n t ng ng trên menu. Đ thay đ iị ạ ọ ụ ọ ươ ứ ể ổ
cách hi n th thông s ngày tháng và th i gian b n có th thao tác trong coltrol panel.ể ị ố ờ ạ ể
Tìm hi u các hàm và thu c tính v th i gian h th ng:ể ộ ề ờ ệ ố
Thu c tínhộ, hàm Mô tả
TimeString Tr gi h th ngả ờ ệ ố
DateString Tr ngày h th ngả ệ ố
Now Tr v ngày gi h th ng đã mã hóaả ề ờ ệ ố
Hour (time) Tr v gi d a trên th i gian c a đ i s timeả ề ờ ự ờ ủ ố ố
Minute (time) Tr v phút d a trên th i gian c a đ i s timeả ề ự ờ ủ ố ố
Second (time) Tr v giây d a trên th i gian c a đ i s timeả ề ự ờ ủ ố ố
Day (date) Tr v ngày d a trêin đ i s date (1-31)ả ề ự ố ố
Month (date) Tr v tháng d a trên đ i s date (1-12)ả ề ự ố ố
Year (date) Tr v năm c a đ i s dateả ề ủ ố ố
Weekday (date) Tr v ngày trong tu n c a đ i s dateả ề ầ ủ ố ố
3. S d ng thành ph n đi u khi n h p tho i chu nử ụ ầ ề ể ộ ạ ẩ

H ng d n l p trình VB.ướ ẫ ậ NET Ch ng 4: Làm vi c v i menu và h pươ ệ ớ ộ
tho iạ
VS.NET 2005 cung c p 8 h p tho i chu n. Các b n có th tìm th y các đi u khi n nàyấ ộ ạ ẩ ạ ể ấ ề ể
trên TOOLBOX. B ng sau li t kê các h p tho i chu n đó:ả ệ ộ ạ ẩ
H p tho iộ ạ Mô tả
ColorDialog Cho ch n tên và hi u ch nh giá tr màu s cọ ệ ỉ ị ắ
FolderBrowserDialog Cho phép duy t th m cệ ư ụ
FontDialog Ch n tên và ki u font chọ ể m iữ ớ
OpenFileDialog Cho l y v đĩa, tên file, tên folderấ ề ổ
PageSetupDialog Đi u khi n các thi t l p trang inề ể ế ậ
PrintDialog Cho thi t l p các tùy ch nh in nế ậ ỉ ấ
PrintPreviewDialog Hi n th xem tr c khi inể ị ướ
SaveFileDialog Cho đ t tên file, folder m i s p ghi lên đĩaặ ớ ắ
3.1. Thêm vào h p tho i chu nộ ạ ẩ
Ta ti p t c b sung cho d án ế ụ ổ ự MyMenu tr c đây b ng cách thêm vào các h p tho i, ướ ằ ộ ạ ở
đây ta s thêm hai h p tho i chu n là ẽ ộ ạ ẩ OpenFileDialog đ m m t nh cho hi n th trongể ở ộ ả ể ị
m t đi u khi n ộ ề ể PictureBox1 và m t h p tho i ộ ộ ạ ColorDialog cho phép ch n màu hi n thọ ể ị
cho Label1 hi n th thông tin ngày gi h th ng.ể ị ờ ệ ố
Tr c h t m l i solution ướ ế ở ạ MyMenu và đ ch đ thi t k form (m fileể ế ộ ế ế ở
form1.vb[Design])
T o hai đi u khi n là ạ ề ể OpenFileDialog và ColorDialog vào Form1 b ng cách double clickằ
vào hai đi u khi n này trên TOOLBOX.ề ể
T o đi u khi n ạ ề ể PictureBox1 vào trong form1. Giao di n thi t k :ệ ế ế

H ng d n l p trình VB.ướ ẫ ậ NET Ch ng 4: Làm vi c v i menu và h pươ ệ ớ ộ
tho iạ
3.2. Thêm m c File vào menu ch ng trìnhụ ươ
B n t o thêm m t m c con ạ ạ ộ ụ Color vào trong menu Clock. M c này s kích ho t h pụ ẽ ạ ộ
tho i ạColorDialog1 ch n màu cho ọLabel1.
T o m t Menu ạ ộ File bên c nh menuạ Clock nh hình. Đ ng th i t o thêm các m c conư ồ ờ ạ ụ
Open, Close, Exit trong menu này.
Ti p theo b n thay đ i tên b ng thu c tính ế ạ ổ ằ ộ Name trong c a s ử ổ Properties cho các m cụ
ch n: m c ọ ụ Open thành mnuOpenItem, Close thành mnuCloseItem, Exit thành
mnuExitItem.
B n cũng đ t thu c tính ạ ặ ộ Enable c a m c ủ ụ Close (gi là mnuCloseItem) thành False.ờ
Thu c tính này vô hi u hóa hay làm m m c ộ ệ ờ ụ Close nh hình. Nó ch đ c sáng lên đư ỉ ượ ể
ng i dùng click khi mã th c thi ch ng trình cho phép.ườ ự ươ
3.3. Vi t mã ch ng trìnhế ươ
3.3.1. Cài đ t th t c cho m c ặ ủ ụ ụ Open trên menu File .
B n t o th t c ạ ạ ủ ụ mnuOpenItem_Click b ng cách double click vào m c ằ ụ Open trên menu
File và nh p đo n mã sau:ậ ạ

