You are on page 1of 63

www.ttcntt.wordpress.

com

H ng d n th c hnh - L p trnh Windows nng cao

H ng D n Th c Hnh

L p Trnh Windows Nng Cao


Kh i: Cao ng ngh v Trung C p Nm 2008

H ng d n:
Bi t p th c hnh d a trn gio trnh: Microsoft .Net Framework 2.0 Windows Based Client Development. Bi t p th c hnh c chia theo lm nhi u Module M i Module c thi t k cho th i l ng 3 ti t th c hnh t i l p v i s h ng d n c a gi ng vin. Ty theo s ti t phn b , m i tu n h c c th th c hi n nhi u Module. Sinh vin nn nghin c u v lm tr c bi t p tr c nh. Cc th c m c s c gi ng vin gi i quy t bu i th c hnh. Sinh vin ph i lm t t c cc bi t p trong cc Module tu n tng ng. Nh ng sinh vin cha han t t ph n bi t p t i l p c trch nhi m t lm ti p t c nh. Cc bi c d u (*) l cc bi t p nng cao dnh cho sinh vin kh gi i.

Module 1
N i dung ki n th c th c hnh: +M t s thu c tnh c a cc control +Cc control LinkLabel, MaskedTextbox +Thi t l p giao di n chng trnh thng qua s

k t h p gi a cc control

Bi 1.
M c ch:

Trang 1/63

www.ttcntt.wordpress.com

H ng d n th c hnh - L p trnh Windows nng cao

S d ng IDE c a Visual Studio.Net v i Layout Toolbar v Document Outline Windows trong qu trnh thi t k giao di n. S d ng cc thu c tnh Dock v Anchor M t : Exercise 1: Practice Configuring Controls (Trang 64-65) G i : Xem h ng d n th c hi n trong gio trnh.

Bi 2:
M c ch: S d ng thu c tnh c a control t o giao di n ty bi n theo kch th c Form. M t : T o giao di n nh hnh bn d i v i cc yu c u nh sau: Trong qu trnh thi t k , khi ng i l p trnh thay i kch th c Form th Label tiu (Trung Tm CNTT HUI) v n n m gi a mn hnh v i cc mp tri ph i khng i, ng v v nt l nh Exit v n v tr ph i- d i v i cc mp khng i. Khi th c thi chng trnh, ng i s d ng khng th thay i kch th c c a Form. V tr m c nh c a Form lc ban u n mn gi a mn hnh. ng th i Form khng hi n th trn thanh TaskBar. G i : S d ng thu c tnh Anchor cho cc control. T o ng k ngang b ng m t Label v i thu c tnh size h p l

Bi 3:
M c ch: S d ng LinkLabel Control. S d ng thu c tnh DialogResult c a button control. Gn phm t t cho Textbox v i Label tng ng M t : Lab: Practice with Command and Text Display Controls (Trang 75-76) G i : Xem h ng d n th c hi n trong gio trnh.

Bi 4:
M c ch: S d ng MaskedTextBox nh p s i n th ai theo khun m u quy nh.

Trang 2/63

www.ttcntt.wordpress.com

H ng d n th c hnh - L p trnh Windows nng cao

M t : Lab: Practice with Text Display Controls (Trang 86-87) G i : Xem h ng d n th c hi n trong gio trnh.

Bi 5:
M c ch: S d ng nhm thu c tnh AutoComplete t o giao di n tr gip cho ng i s d ng trong vi c nh p li u trn Textbox. M t : Vi t chng trnh t o Form nh p thng tin khch hng m c n gi n nh hnh bn d i. Khi ng i s d ng nh p s i n th ai khch hng, chng trnh hi n danh sch ty ch n textbox g m cc u s : 090, 091, 095, 096, 098,0911, 0912. Khi ng i s d ng nh p qu khch hng (t nh thnh), chng trnh hi n danh sch ty ch n textbox g m cc t nh thnh ngh g m: Hu , N ng, HCM, H N i, B n Tre, Thi Bnh, Ti n Giang. Thi t l p cc thu c tnh khi co dn kch th c Form, th v tr mp c a cc i t ng v n khng i.

G i : Thi t l p danh sch d li u hi n th : thu c tnh AutoCompleteCustomSource Ch n ch hi n th : thu c tnh AutoCompleteMode Thi t l p ngu n d li u hi n th : thu c tnh AutoCompleteSource

Bi 6: (*)
M c ch: S d ng nhm thu c tnh AutoComplete t o giao di n tr gip cho ng i s d ng trong vi c nh p li u trn Textbox. M t : Vi t chng trnh nh p sch n gi n v i giao di n nh hnh d i. Sch g m 4 thng tin: S ng K C Bi t, Tn Sch, Nh Xu t B n v Ni Xu t B n. Sau khi ng i s d ng nh p thng tin sch v b m nt Lu, chng trnh xa tr ng cc textbox, lu S KCB vo listbox, ng th i chuy n focus v textbox S KCB Khi ng i s d ng nh p nh XB (ho c Ni XB), chng trnh hi n th danh sch ch n l a (autocomplete) t i cc textbox tng ng, v i gi tr danh sch ch n l cc gi tr nh p (khng trng nhau) t i cc tr ng tng ng.

Trang 3/63

www.ttcntt.wordpress.com

H ng d n th c hnh - L p trnh Windows nng cao

Thi t l p thu c tnh anchor cho cc control h p l.

G i : S d ng nhm cc thu c tnh v Autocomplete. Lu cc gi tr nh p c a tr ng Nh XB (v Ni XB) vo cc bi n danh sch (ch lu cc gi tr m i danh sch khng b trng l p). Chuy n danh sch ny vo AutoCompleteCusomSource c a cc textbox tng ng

Trang 4/63

www.ttcntt.wordpress.com

H ng d n th c hnh - L p trnh Windows nng cao

Module 2
N i dung ki +M t +M t +Thi n th c th c hnh: s thu c tnh c a cc control v Form s i t ng Container m i. t l p giao di n chng trnh thng qua s

k t h p gi a cc control

Bi 1:
M c ch: S d ng m t s StartPosition thu c tnh c a Form: Opacity, FormBorderStyle, Size,

M t : Lab: Customizing a Windows Form - Exercise 1: Customize a Rectangular Windows Form (Trang 17-19) G i : Xem h ng d n th c hi n trong gio trnh.

Bi 2:
M c ch: Thi t l p thu c tnh Region c a Form t o Form v i hnh d ng b t k (trong bi t p ny l hnh tam gic). Hi u ngha c a i tng GraphicsPath. M t : Lab: Customizing a Windows Form - Exercise 2: Create a Non-Rectangular Windows Form (Trang 19-20) G i : Xem h ng d n th c hi n trong gio trnh.

Bi 3:
M c ch: S d ng m t Container Controls: TabControl, FlowLayoutPanel, TableLayoutPanel, SplitContainer. Bi t cch ch n Container Control thch h p khi thi t k giao di n. M t : Lab: Practice with Container Controls (Trang 40-42) G i : Xem h ng d n th c hi n trong gio trnh.

Bi 4:
M c ch: Thi t k giao di n v i nhi u control s d ng chung khng gian mn hnh, v ng i s d ng c th ty bi n kch th c control ang lm vi c. S d ng cc SplitContainer control l ng nhau.

Trang 5/63

www.ttcntt.wordpress.com

H ng d n th c hnh - L p trnh Windows nng cao

M t : Thi t k Form s d ng SplitContainer control t o giao di n nh p cu h i tr c nghi m nh hnh d i. Khi Form thay i kch th c, v tr v kch th c tng i gi a cc textbox v n gi nh lc u tin. G i : S d ng 4 SplitContainer v i thi t l p v h ng (Orientation) thch h p. Tu n t thm vo t ng SplitContainer control.

Bi 5:
M c ch: S d ng thu c tnh DialogResult c a Button Ghp chung s ki n cho nhi u control Cch chuy n d li u gi a cc Form thng qua. K thu t Push data v Pull data gi a cc Form. M t : Vi t chng trnh cho ng i s d ng bnh ch n thng hi u i n th ai c yu thch nh t. Chng trnh g m 2 Form: Form1 v Form2. Ng i s d ng nh p tn v hng i n th ai vo cc textbox t i Form1. N u khng nh tn hng T, ng i s d ng c th double click vo textbox Hng i n th ai, chng trnh s hi n th Form2 ch a cc hng T. Ng i s d ng click ch n hng no, Form2 s ng l i v hi n th tn hng tng ng Form1.

Trang 6/63

www.ttcntt.wordpress.com

H ng d n th c hnh - L p trnh Windows nng cao

G i : Thi t l p thu c tnh DialogResult c a cc button trn Form2 Form1 s dng k thu t Pull data l y d li u.

Trang 7/63

www.ttcntt.wordpress.com

H ng d n th c hnh - L p trnh Windows nng cao

Module 3
N i dung ki n th c th c hnh: +S d ng bi n c (event) cho Mouse v Keyboard +S d ng WebBrowser control +S d ng ToolStrip control +T o m t hay nhi u control lc run-time +S d ng Event cho cc control c t o lc run-time

Bi 1:
M c ch: Theo di cc bi n c c a Mouse: Click, DoubleClick, MouseClick, MouseDoubleClick, MouseDown, MouseEnter, MouseHover, MouseLeave, MouseMove, and MouseUp. Sau khi th c hi n xong bi, cho bi t i m khc bi t gi a s ki n Click v MousecClick M t : Lab 3: Practice with Mouse Events (Trang 191-192) G i : Xem h ng d n th c hi n trong gio trnh.

Bi 2:
M c ch: Thm control ng lc runtime Cho php control m i tng tc v i ng i s d ng thng qua cc Event M t : Vi t chng trnh v i giao di n nh hnh d i. Khi lc kh i ng, chng trnh g m m t button T o Textbox v m t Groupbox hi n th chu i: Cha c textbox no.

Sau khi ng m i v thm Khi ng i s trn tiu c Khi ngu i s h t.

i s d ng b m nt T o textbox, chng trnh t o m t Tetxbox Groupbox, ng th i button ny s b m . d ng nh p n i dung trn textbox, n i dung ny s l p t c hi n th a Groupbox. d ng double click vo textbox, th n i dung c a textbox s b xa

Trang 8/63

www.ttcntt.wordpress.com

H ng d n th c hnh - L p trnh Windows nng cao

G i : T o m t textbox v thm vo controls c a Groupbox T o 2 hm s ki n c a textbox: Textbox_Changed v Textbox_DoubleClick

Bi 3:
M c ch: S d ng WebBrowser control v ToolStrip control. Vi t chng trnh t o trnh duy t Web n gi n M t : Lab: Creating a WebBrowser +Exercise 1: Creating a Web Browser (Trang 138-139) Lab 1: Creating a ToolStripBased Web Browser +Exercise 1: Creating a Web Browser (Trang 156-157) +Exercise 2: Adding a Search Tool Strip (Trang 157-158) Lab 2: Adding File Browsing Capability to Your Web Browser (Trang 176-177) G i : Xem h ng d n th c hi n trong gio trnh.

Bi 4
M c ch: N p ng nhi u i t ng lc run-time. Qu n l cc i t ng m i t o thng qua Collection Controls L p trnh bi n c trn cc i t ng n p ng lc run-time M t : Vi t chng trnh n p ng cc i t ng nh sau. Khi chng trnh v a kh i ng, giao di n chng trnh ch a textbox dng nh p s ph n t n.

Khi ng i s d ng b m OK (chng trnh ph i ki m tra s nh p c h p l hay khng-l s nguyn dng), chng trnh s t ng t o n button ng vo nh hnh d i, v i gi tr text l ng u nhin t 2..100. +Nt Ch n s ch n: cc button ch a s ch n s i mu ch thnh mu . Cc button cn l i mu ch v n mu en. +Nt Ch n s l : cc button ch a s l s i mu ch thnh mu . Cc button cn l i mu ch v n mu en. +Nt xa t t c : chng trnh s xa t t c button v a t o v a chng trnh v tr ng thi ban u.

Trang 9/63

www.ttcntt.wordpress.com

H ng d n th c hnh - L p trnh Windows nng cao

+Khi ng i s d ng click vo m t button ch a s : chng trnh s hi n thng bo cho bi t s ph i l s nguyn t hay khng? ng th i button ny s b m , khng cho b m l n th 2.

G i : S d ng FlowLayoutPanel ch a cc i t ng n p ng lc run-time, v i thu c tnh AutoScroll=True. Dng vng l p for each duy t qua collection Controls c a FlowLayoutPanel. Vi t hm ki m tra s nguyn t .

Trang 10/63

www.ttcntt.wordpress.com

H ng d n th c hnh - L p trnh Windows nng cao

Module 4
N i dung ki n th c th c hnh: +S d ng ImageList control +S d ng i t ng Listview

Bi 1:
M c ch: S d ng ImageList control. Thm v truy xu t hnh nh lu tr trong ImageList M t : Vi t chng trnh hi n th m t m t trng xoay nh hnh bn d i. Ng i s d ng c th cho php o chi u xoay b ng cch s d ng hai button Xoay sang tri v xoay sang ph i.

+Sau khi lm xong ph n trn, tinh ch nh chng trnh i u khi n b ng m t button duy nh t nh sau. M t button dng o chi u xoay, text hi n th trn button lun th hi n tr ng thi c n i n.

G S S L

i : d ng Timer. Thi t l p thu c tnh Interval kh ang 40-> 100 (ms). d ng ImageList ch a 8 Icon (moon01.ico moon08.ico) n l c hi n th m i l n m t hnh khi Timer_Tick th c hi n.

Bi 2:
M c ch: S d ng ListView control. M t : Exercise 1: Exercise 1: The Ski Instructor Reservation Form (Trang 115-116) G i : Xem h ng d n th c hi n trong gio trnh.

Trang 11/63

www.ttcntt.wordpress.com

H ng d n th c hnh - L p trnh Windows nng cao

Bi 3:
M c ch: S d ng Listview control. Hi u v n m c cc thu c tnh, method quan tr ng c a ListView M t : Vi t chng trnh nh p d li u vo Listview nh hnh bn d i. Ng i s d ng nh p thng tin: (lastname, firstname, phone) v s d ng nt Add Name nh p vo listview. Cc contact c bi u t ng (icon) hi n th nh hnh. Ng i s d ng c th thay i ch view c a listview b ng menu View. Menu FormatListview hi u th h p th ai ch n mu dng thay i mu ch (forecolor) c a Listview.

G i : S d ng ListviewItem thm m t dng m i cho Listview S d ng ImageList ch a th vi n icon cho Listview. K t n i Listview v i ImageList. S d ng ColorDialog control hi n th h p th ai ch n mu, v thay i forecolor c a Listview.

Bi 4:
M c ch: Thao tc trn cc ph n t c a Listview. M t : Vi t chng trnh nh p v qu n l danh sch nh hnh d i. Chng trnh qu n l danh sch 2 l p: L p A v l p B. L p A l cc sinh vin ang ng k ch nh p h c. L p B l danh sch Sv c ch p nh n vo l p h c. Ng i s d ng nh p danh sch sinh vin l p A b ng cch nh p M SV v H Tn SV trong 2 textbox, sau b m nt OK. Ng i s d ng c th ch n m t hay nhi u SV trong 1 danh sch v chuy n qua danh sch kia b ng cc nt l nh < hay >. Nt l nh << v >> dng chuy n tan b danh sch.

Trang 12/63

www.ttcntt.wordpress.com

H ng d n th c hnh - L p trnh Windows nng cao

Ng i s d ng c th tm nhanh nh ng SV no theo tn ho c m (tm khng chnh xc, v du: nh p Ca tm t t c SV c m ho c tn ch a t Ca). S th t c a SV do chng trnh nh t ng, lun b t u b ng s 1 v lin ti p 1,2,3 . M SV nh p vo danh sch khng c trng v i cc m SV t n t i trong c 2 danh sch l p A v l p B.

G i : Cc Listview c thu c tnh MultiSelect =True Chuy n m t t t danh sch ny sang danh sch khc: g m 2 thao tc: thm v xa

Trang 13/63

www.ttcntt.wordpress.com

H ng d n th c hnh - L p trnh Windows nng cao

Module 5
N i dung ki n th c th c hnh: +S d ng TreeView control +K t h p gi a TreeView v ListView +S d ng ToolStrip control

Bi 1:
M c ch: N p danh sch vo TreeView. K t h p v i ImageList control hi n th bi u t ng cho cc node c a cy.. T o v s d ng ToolStrip control. M t : Vi t chng trnh hi n th danh m c cc k t nh hnh. Cc k t c chua lm 3 nhm: k t t bi t, ch ci (t a..z) v ch s (t 1..50). Trn toolstrip c a chng trnh ch a 2 nt l nh dng ng/m tan b cy.

G i : S d ng ImageList lu tr 5 icon khc nhau v k t n i v i Treeview S d ng vng l p nh p cc k t vo Listview

Bi 2:
M c ch: N p danh sch vo TreeView. ng b gi a TreeView v ListView. M t :

Trang 14/63

www.ttcntt.wordpress.com

H ng d n th c hnh - L p trnh Windows nng cao

Vi t chng trnh xem danh sch sinh vin c a Trung Tm CNTT tr ng i H c Cng Nghi p Tp.HCM nh hnh. Khi chng trnh v a th c thi, Treeview hi n th danh sch cc l p cc sinh vin nh hnh.

Khi ngu i s d ng ch n c p Khoa, chng trnh hi n th tan b danh sch sinh vin thu c Khoa ang ch n vo Listview. Khi ng i s d ng ch n m t l p b t k th chng trnh hi n th tan b sinh vin c a l p ang ch n vo listview. Khi ch n 1 sinh vin b t k th ch hi n th sinh vin vo Listview.

Trang 15/63

www.ttcntt.wordpress.com

H ng d n th c hnh - L p trnh Windows nng cao

G i : Ki m tra v tr c a Node ang ch n trn Treeview.

Bi 3:
M c ch: N p danh sch vo TreeView. Phn bi t v tr ang ch n trn Treeview. M t : Vi t chng trnh nh p danh sch l p v sinh vin c a Trung Tm CNTT HUI v i giao di n nh hnh d i. Khi ng i s d ng ch n node Trung Tm CNTT-HUI, chng trnh hi n th textbox cho php nh p cc l p m i c a Trung Tm CNTT-HUI. Vi c nh p c th c hi n b ng nt l nh OK ho c b m phm Enter.

Khi ng i s d ng ch n m t l p no trong treeview, chng trnh hi n th textbox dng nh p tn cc sinh vin thu c l p . Vi c nh p c th c hi n b ng nt l nh OK ho c b m phm Enter.

Trang 16/63

www.ttcntt.wordpress.com

H ng d n th c hnh - L p trnh Windows nng cao

Khi ng i s d ng ch n node sinh vin, chng trnh s hi n th tn sinh vin vo textbox, ng th i kha textbox v button, khng cho php h at ng.

G i : Phn bi t c p c a node ang ch n trn TreeView.

Trang 17/63

www.ttcntt.wordpress.com

H ng d n th c hnh - L p trnh Windows nng cao

Module 6
N i dung ki n th c th c hnh: +S d ng TreeView control, WebBrowser control +K t h p gi a TreeView v ListView +N p i t ng ng

Bi 1:
M c ch: N p danh sch vo TreeView. N p i t ng ng. M t : Vi t chng trnh tan vui v i giao di n kh i u g m m t textbox v button OK nh hnh d i.

Sau khi ng i s d ng nh p s ph n t n vo textbox v b m OK, chng trnh s t o n tetxbox n p ng v t o t p s ng u nhin t 2..200 nh hnh. Nt OK s b m v khng cho h at ng. Treeview ch a danh sch cc s ny phn theo 3 nhm: cc s ch n, cc s l v cc s nguyn t v i cc icon khc nhau (xem hnh). Khi ng i s d ng thay i m t gi tr no c a cc textbox s trong m c t p s , chng trnh s l p t c c p nh t danh sch m i vo TreeView. Khi ng i s d ng b m nt Clear, chng trnh s xa t t c textbox ng, treeview v tr v tr ng thi lc ban u.

Trang 18/63

www.ttcntt.wordpress.com

H ng d n th c hnh - L p trnh Windows nng cao

G i : N p ng n textbox vo m t FlowLayout panel. Duy t cc textbox ny v xy d ng Treeview. Thm s ki n TextChanged cho cc textbox ny.

Bi 2:
M c ch: N p danh sch vo TreeView. S d ng m t s hm-phng th c trn chu i. M t : Vi t chng trnh nh p danh danh b v i yu c u giao di n nh hnh d i. +Khi chng trnh v a hi n th , treeview ch a t t c cc ch ci t A->Z. +Nh m m c ch ti n l i cho ng i s d ng khi tm tn, khi ng i s d ng nh p tn c a m t ng i np , chng trnh s a tn ng i ny vo treeview v tr treenode c tng ng v i ch cc u c a tn (xem hnh). +Khi ng i s d ng ch n m t tn no , chng trnh hi n th l i h - tn ng i vo cc textbox. +Thm m t ToolStrip ch a textbox dng tm ng i u tin (theo first name hay last name) v ch n trn treeview, ng th i hi n th tn ng i tm th y ln 2 textbox. Ch l, tn ng i s d ng nh p khng b d u ti ng vi t.

G i : N p danh sch k t t A->Z vo Treeview Dng phng th c SubString(vitr,s k t ) l y k t u tin c a tn. Ch n node k t tng ng trong Treeview v thm h c+tn vo Node ny.

Bi 3:
M c ch:

Trang 19/63

www.ttcntt.wordpress.com

H ng d n th c hnh - L p trnh Windows nng cao

N p i t ng ng. Qu n l v s d ng cc i t ng ng v a n p ny. M t : Vi t chng trnh bn v r p chi u phim v i cc yu c u sau: Hy t o m t project gip cho r p chi u phim qu n l vi c bn v c a m t r p ht. R p c 3 hng gh , m i hng c 5 gh , cc gh c nh s t 1 n 15 v c phn thnh 3 l (xem hnh): Gi v l A 20 ngn/v - gh t 1-5 Gi v l B 30 ngn/v - gh t 6-10 Gi v l C 40 ngn/v- gh t 11-15

M t ng i vo c th mua nhi u v, v Ng i bn s ch n cc gh t cc checkbox. +Khi v a ch n gh no, chng trnh l p t c c p nh t danh sch cc gh ang ch n v listbox bn d i +Khi v a ch n gh no, chng trnh l p t c tnh v hi n th t ng s ti n vo label bn d i + Khi ng i mua mu n h y b 1 v no , ng i bn s ch n s gh trong listbox v b m nt Xa gh ang ch n. Chng trnh l p t c s xa s gh trong listbox v b checkbox cho gh . +Nt Xa t t c s xa t t c cc s gh trong listbox v a tr ng thi t t c cc checkbox v tr ng thi khng ch n +Chng trnh s d ng k thu t n p ng cc control sau ny d dng cho vi c nng c p s l ng gh m i hng. +Chng trnh cho php ng i s d ng thay i kch th c nhng v n gi b c c nh ban u. G i : N p ng cc checkbox ( i di n cho cc v tr gh ) v ghp chung hm s ki n.

Trang 20/63

www.ttcntt.wordpress.com

H ng d n th c hnh - L p trnh Windows nng cao

Duy t cc checkbox ny m i khi checkbox thay i v c p nh t Listbox.

Trang 21/63

www.ttcntt.wordpress.com

H ng d n th c hnh - L p trnh Windows nng cao

Module 7
N i dung ki n th c th c hnh: +T o Connection v i MS Access v SQL Server +S d ng Exception +N m c m t s thu t ng trong ADO.NET v ph m vi p d ng

Bi 1:
M c ch: T o connection (th i i m design time) t c a s Server Explorer T o connection (th i i m design time) t Data Source Configuration Wizard M t : Exercise 1: Creating Connections in Server Explorer (Trang 206-207) Exercise 2: Creating Connections using the Data Source Configuration Wizard (Trang 207-209). G i : Xem h ng d n th c hi n trong gio trnh.

Bi 2:
M c ch: T o connection (th i i m run time) s d ng code. Sinh vin ph i n m c t ng t n thi t l p c a connectionstring v i MS Access, SQL Server. M k t n i v ki m tra tr ng thi c a connection. S d ng event c a connection. c thng tin v server t connection M t : Lab: Practice Opening and Closing Data Connections (Trang 213-223) (Lu : ch th c hi n k t n i v i MS Access, SQL Server) G i : Xem h ng d n th c hi n trong gio trnh.

Bi 3:
M c ch: X l bi t l (Exception). X l cc l i thng d ng. M t : Vi t chng trnh th c hi n php tan chia v i m c ch dng x tr do ng i s d ng nh p. Giao di n chng trnh bn d i.

l cc gi

Trang 22/63

www.ttcntt.wordpress.com

H ng d n th c hnh - L p trnh Windows nng cao

B c 1: Vi t code cho nt l nh Tnh A/B nh sau:


private void button2_Click(object sender, EventArgs e) { try { int a = Convert.ToInt16(txta.Text); int b = Convert.ToInt16(txtb.Text); int chia = a / b; txtkq.Text = chia.ToString(); } catch (Exception ex1) { MessageBox.Show("L i" + Environment.NewLine + ex1.GetType().ToString()); } }

Th c thi chng trnh. Nh p gi tr cc textbox l ch y l l ai l i th ng x y ra. B c 2: Thay i chng trnh nh sau


try { int a = Convert.ToInt16(txta.Text); int b = Convert.ToInt16(txtb.Text); int chia = a / b; txtkq.Text = chia.ToString();

ci. Xem l ai l i. Xc nh

} catch (FormatException ex1) { MessageBox.Show("D li u nh p khng h p l : ph i l s " + Environment.NewLine + ex1.Message ); txta.SelectAll(); txta.Focus(); } catch (Exception ex2) { MessageBox.Show("L i" + Environment.NewLine ex2.GetType().ToString()); }

Th c thi chng trnh. Nh p gi tr cc textbox l r t l n (999999999). Xem l ai l i. Xc nh y l l ai l i th ng x y ra. B c 3: Thay i chng trnh nh sau
try {

Trang 23/63

www.ttcntt.wordpress.com

H ng d n th c hnh - L p trnh Windows nng cao int a = Convert.ToInt16(txta.Text); int b = Convert.ToInt16(txtb.Text); int chia = a / b; txtkq.Text = chia.ToString();

} catch (FormatException ex1) { MessageBox.Show("D li u nh p khng h p l : ph i l s " + Environment.NewLine + ex1.Message ); txta.SelectAll(); txta.Focus(); } catch (OverflowException ex2) MessageBox.Show("S nh p qu l n." + Environment.NewLine + { ex2.Message); } catch (Exception ex3) MessageBox.Show("L i" + Environment.NewLine + { ex3.GetType().ToString()); }

B c 4: Nh p gi tr txtB b ng 0. Th c thi chng trnh. Sinh vin th c hi n b t l i ny v hi n thng bo ti ng Vi t d dng cho ng i s d ng. G i : Th c hi n v i cch lm nh cc b c 1,2 v 3.

Bi 4:
M c ch: X l cc bi t l (Exception) khi k t n i v i database. Hi n th cc thng bo l i t SQL server. M t : Lab: Handling Database Connection Errors (Trang 232-235) G i : Xem h ng d n th c hi n trong gio trnh.

Bi 5:
M c ch: Tm cc instance c a SQL Server t cc my trong m ng M t : Lab: Returning the List of Visible SQL Servers (Trang 238-239) Sau khi hi n th k t qu , ki m tra xem c tn my c c b trong danh sch hay khng? N u khng th cho bi t t i sao? G i : Xem h ng d n th c hi n trong gio trnh.

Trang 24/63

www.ttcntt.wordpress.com

H ng d n th c hnh - L p trnh Windows nng cao

Module 8
N i dung ki +K t s d +Th +Nh n th c th c hnh: n i v i Database SQL Server v MS Access trong mi tr ng Connected ng DataReader c thi cu l nh SQL, g i Stored Procedure c a SQL n k t qu tr v s d ng DataReader

Bi 1:
M c ch: K t n i v i MS Access v SQL server Thi t l p command v th c thi cu l nh SQL trong 2 tr ng h p: ExecuteReader v ExecuteNonQuery. M t : Lab: Executing SQL Statements and Calling Stored Procedures (Trang 265-271) G i : Xem h ng d n th c hi n trong gio trnh.

Bi 2:
M c ch: Truy xu t d li u t MS Access s d ng Datareader. S d ng cu l nh SQL c pht sinh t C#. Th c hi n k t n i ng vo file MS Access ( ng d n file l ng d n c a chng trnh). M t : T o c s d li u MS Access lu tr danh sch sinh vin trong m t table SINHVIEN g m 4 field nh hnh. Nh p danh sch 5 sinh vin trong l p vo b ng SINHVIEN t trong MS Access.

Vi t chng trnh hi n th danh sch sinh vin trn t database vo Listview v i giao di n nh hnh. Listview hi n th tan b danh sch sinh vin, v thng tin v gi i tnh (nam/n ) c a m i sinh vin c bi u di n b ng cc bi u t ng tng ng khc nhau (xem hnh). +Khi ng i s d ng ch n m t sinh vin no, chng trnh l p t c hi n th thng tin chi ti t c a sinh vin vo cc textbox (xem hnh). +Thm vo form m t menu S p X p Tng D n ch a 3 menuitem(S p x p theo Tn Sv, S p x p theo a ch , S p x p theo SDT). Khi ng i s d ng ch n ki u s p x p no, chng trnh s c p nh t l i danh sch sinh vin trong Listview theo th t v a ch n.

Trang 25/63

www.ttcntt.wordpress.com

H ng d n th c hnh - L p trnh Windows nng cao

G i : Xem h ng d n cch truy xu t d li u t i gio trnh trang 267. S d ng l p OLEDB truy xu t d li u Ms Access.

Bi 3:
M c ch: Truy xu t d li u t MS SQL Server s d ng Datareader. S d ng k t qu tr v n p ng i t ng. Thao tc trn i t ng ng tng ng v i record d li u. M t : T o c s d li u t SQL Server qu n l sch bn t i m t c a hng. Nh p danh sch sch g m 10 cu n l cc gio trnh sinh vin ang v h c t i Trung Tm CNTT Tr ng i H c Cng Nghi p Tp.HCM.

Khi chng trnh v a c th c thi, chng trnh n p ng cc button tng ng v i s u sch trong database (m i u sch tng ng m t button) v hi n th tn sch. Khi ng i s d ng click ch n m t u sch no , chng trnh hi n th thng tin chi ti t v u sch cc textbox bn c nh (xem hnh).

Trang 26/63

www.ttcntt.wordpress.com

H ng d n th c hnh - L p trnh Windows nng cao

G i : Xem h ng d n cch truy xu t d li u t i gio trnh trang 267. S d ng l p SQLClients truy xu t d li u Ms SQL Server. Vi c th c hi n n p ng cho t ng button nn th c hi n trong m t hm ring d dng cho vi c c v s a chng trnh.

Trang 27/63

www.ttcntt.wordpress.com

H ng d n th c hnh - L p trnh Windows nng cao

Module 9
N i dung ki n th c th c hnh: +K t n i v i Database SQL Server v MS Access trong mi tr ng Connected s d ng DataReader +S d ng SQL ng tr c khi th c thi cu l nh SQL +S d ng Command Parameters tr c khi th c thi cu l nh SQL +Nh n k t qu tr v s d ng DataReader

Bi 1:
M c ch: K t n i v i v SQL server. T o v th c thi l nh SQL c tham s . M t : Lab: Working with Parameters Exercise 1: Creating and Executing a Parameterized SQL Statement (Trang 275-280) G i : Xem h ng d n th c hi n trong gio trnh.

Bi 2:
M c ch: T o v th c thi l nh Stored Procedure c tham s (ch l ai Input Parameters). M t : Lab: Working with Parameters Exercise 2: Creating and Executing a Parameterized Stored Procedure (Trang 280-285) G i : Xem h ng d n th c hi n trong gio trnh.

Bi 3:
M c ch: T o v th c thi l nh Stored Procedure c tham s InputOutput and Output. M t : Lab: Working with Parameters Exercise 3: Using InputOutput and Output Parameters (Trang 285-289) G i : Xem h ng d n th c hi n trong gio trnh.

Bi 4:
M c ch: K t n i v i v MS Access. S d ng Parameters Query truy xu t d li u M t : Thi t k database g m 1 table SinhVien(ma,hoten,diachi,ngaysinh,SDT).

Trang 28/63

www.ttcntt.wordpress.com

H ng d n th c hnh - L p trnh Windows nng cao

Khi chng trnh v a th c thi, hi n th danh sch sinh vin trong Listview ch g m 2 c t: H tn v ngy sinh. Khi ng i s d ng ch n m t sinh vin no th chng trnh hi n th thng tin chi ti t c a sinh vin v a ch n vo cc textbox nh hnh d i. Ci t chng trnh s d ng Parameters Query th c hi n bi t p ny.

G i : Sinh vin ty ch n c s d li u l MS Access ho c SQL Server. N p danh sch sinh vin vo listview (nn vi t hm ring) v c g i Form_Load Vi t hm hi n th thng tin chi ti t c a sinh vin v i 1 tham s l M SV. G i hm ny t s ki n Listview_SelectedIndexChaned

Bi 5:
M c ch: Truy xu t d li u t MS SQL Server s d ng Stored Procedured tham s . S d ng k t qu tr v n p ng i t ng. Thao tc trn i t ng ng tng ng v i record d li u. Ci t chng trnh s d ng Stored Procedured th c hi n bi t p ny. M t : T o c s d li u t SQL Server qu n l sch bn t i m t c a hng. Nh p danh sch sch g m 10 cu n l cc gio trnh sinh vin ang v h c t i Trung Tm CNTT Tr ng i H c Cng Nghi p Tp.HCM.

Khi chng trnh v a c th c thi, chng trnh n p ng cc button tng ng v i s u sch trong database (m i u sch tng ng m t button) v hi n th tn sch. Khi ng i s d ng click ch n m t u sch no , chng trnh hi n th thng tin chi ti t v u sch cc textbox bn c nh (xem hnh). Yu c u: t o 2 Stored Procedured: Sp_getBooks (l y danh m c sch dng cho vi c n p ng) v sp_getBookDetail (l y v 1 record Book dng cho vi c hi n th thng tin chi ti t.)

Trang 29/63

www.ttcntt.wordpress.com

H ng d n th c hnh - L p trnh Windows nng cao

G i : Vi c th c hi n n p ng cho t ng button nn th c hi n trong m t hm ring d dng cho vi c c v s a chng trnh.

Module 10
N i dung ki n th c th c hnh: +B c u lm quen v i v i ch Disconected +Kh o st c u trc c a Dataset +T o v phn bi t cc i t ng typed DataSet v untyped DataSet +Kh o st c u trc DataTable

Bi 1:
M c ch: T o i t ng typed DataSet s d ng DataSet Designer M t : Lab: Creating DataSet Objects Exercise 1: Creating a DataSet with the DataSet Designer (Trang 336338) G i : Xem h ng d n th c hi n trong gio trnh.

Bi 2:
M c ch: T o i t ng typed DataSet s d ng Data Source Configuration Wizard M t : Lab: Creating DataSet Objects Exercise 2: Creating a Typed DataSet with the Data Source Configuration Wizard (Trang 338-341) G i : Xem h ng d n th c hi n trong gio trnh.

Trang 30/63

www.ttcntt.wordpress.com

H ng d n th c hnh - L p trnh Windows nng cao

Bi 3:
M c ch: T o i t ng untyped DataSet M t : Lab: Creating DataSet Objects Exercise 3: Configuring Untyped DataSet Objects (Trang 342-347) G i : Xem h ng d n th c hi n trong gio trnh.

Bi 4:
M c ch: T o i t ng DataTable khng s d ng database c s n Kh o st c u trc c a DataTable M t : Lab: Creating DataTable Objects Exercise 1: Creating a DataTable (Trang 353-356) G i : Xem h ng d n th c hi n trong gio trnh.

Trang 31/63

www.ttcntt.wordpress.com

H ng d n th c hnh - L p trnh Windows nng cao

Module 11
N i dung ki n th c th c hnh: +S d ng DataAdapter v i mi tr ng Disconected +Kh o st c u trc c a DataAdapter +S d ng CommandBuilder v i DataAdapter khi c p nh t d

li u

Bi 1:
M c ch: T o i t ng DataAdapter c a d ng Data Adapter Configuration Wizard. T o i t ng typed DataSet t DataAdapter ny. N p d li u v hi n th trn DataGrid. Update d li u. S d ng cc s ki n RowUpdating, RowUpdated, FillError c a DataAdapter M t : Lab: Working with DataAdapter Objects Exercise 1: Creating a DataAdapter with the Data Adapter Configuration Wizard (Trang 363-367) G i : Xem h ng d n th c hi n trong gio trnh.

Bi 2:
M c ch: T o i t ng DataAdapter s d ng code T o i t ng untyped DataSet untyped DataTable. Update d li u s d ng CommandBuilder M t : Lab: Working with DataAdapter Objects Exercise 2: Creating DataAdapters in Code (Trang 367-369) G i : Xem h ng d n th c hi n trong gio trnh.

Bi 3:
M c ch: S d ng DataSet, Parameters Command, Command Builder vi t ng d ng qu n l danh b . M t : Vi t chng trnh qu n l danh b v i giao di n nh hnh bn d i. S d ng MS Access (ho t SQL Server) lu tr danh b , g m 1 Table: ch 4 field DanhBa(ID, LastName, FirstName, Phone) Khi hi n th , chng trnh ch hi n th 3 field (xem hnh). Khi ng i s d ng nh p thng tin: (lastname, firstname, phone) v s d ng nt Add Name nh p, th chng trnh c p nh t danh b ny vo Database v vo listview. Sau chng trnh xa tr ng cc textbox. Khi ng i s d ng ch n 1 hng no trn Listview, chng trnh hi n th l i thng tin chi ti t vo cc Textbox.

Trang 32/63

www.ttcntt.wordpress.com

H ng d n th c hnh - L p trnh Windows nng cao

Trong chng trnh s d ng DataSet, Parameters Command, Command Builder th c hi n cc yu c u.

G i : T o 1 table DanhBa(ID, LastName, FirstName, Phone) v i ID l kha chnh, v t ng tng d n.

Bi 4:
M c ch: S d ng DataAdapter hi n th v lu tr d li u, k t h p v i control TreeView. M t : Vi t chng trnh nh p danh danh b v i yu c u giao di n nh hnh d i. +Khi chng trnh v a hi n th , treeview ch a t t c cc ch ci t A->Z v tn danh b , phn l ai theo k t u, v s p x p theo LastName. +Chng trnh cho php nh p 1 danh m c ng i quen m i, v lu tr vo c s d li u (cha 1 table: DanhBa(ID, Fname, Lname) +Khi ng i s d ng ch n m t tn no , chng trnh hi n th l i h - tn ng i vo cc textbox. Ch l, tn ng i s d ng nh p khng b d u ti ng vi t.

Trang 33/63

www.ttcntt.wordpress.com

H ng d n th c hnh - L p trnh Windows nng cao

G i : S d ng DataDapter v CommandBuilder th c hi n vi c c p nh t d Field ID d ng autonumber.

li u.

Bi 5:
M c ch: N p danh sch vo TreeView-ListView. D li u c l y t DataBase (MS Access ho c SQL Server) s d ng DataSet. Vi t hm truy xu t DataBase gi m di c a chng trnh. M t : Vi t chng trnh xem danh sch sinh vin c a cc Trung Tm t i tr ng i H c Cng Nghi p Tp.HCM nh hnh. Khi chng trnh v a th c thi, Treeview hi n th danh sch cc Khoa - L p v sinh vin nh hnh.

li u c thi t k g m 3 b ng: CacTrungTam, Lop,Sinhvien.

Khi ngu i s d ng ch n c p Trung Tm, chng trnh hi n th tan b danh sch sinh vin thu c Trung Tm ang ch n vo Listview. Khi ng i s d ng ch n m t l p b t k th chng trnh hi n th tan b sinh vin c a l p ang ch n vo listview. Khi ch n 1 sinh vin b t k th ch hi n th sinh vin vo Listview. G i : Th c hi n vi t cc hm th vi n tr v Dataset, s d ng cc hm ny gi m di c a chng trnh.

Trang 34/63

www.ttcntt.wordpress.com

H ng d n th c hnh - L p trnh Windows nng cao

Module 12
N i dung ki n th c th c hnh: +Kh o st c u trc d li u lu tr trong DataTable +C p nh t d li u trong DataAdapter +S d ng DataView

Bi 1:
M c ch: Thm, xa, s a DataTable Truy xu t cc version c a datarow s d ng RowVersion Ki m tra data version sau khi s d ng phng th c AcceptChanges, Rejectchanges c a datarow M t : Lab: Working with Data in a DataTable Exercise 1: Working with DataTable Objects (Trang 377-384) G i : Xem h ng d n th c hi n trong gio trnh.

Bi 2:
M c ch: T o i t ng DataView t DataTable c s n. S d ng DataView objects sort v filter d li u hi n th t DataTable. M t : Lab: Working with DataView Objects Exercise 1: Working with DataView Objects (Trang 400-404) G i : Xem h ng d n th c hi n trong gio trnh.

Bi 3:
M c ch: S d ng DataView objects sort v filter d li u hi n th t DataTable. M t : S d ng l i chng trnh c a bi 3- module 9. T o menu Sort By ch a 3 menu con s p x p danh sch trong listview theo LastName, FirstName, Phone.

Trang 35/63

www.ttcntt.wordpress.com

H ng d n th c hnh - L p trnh Windows nng cao

G i : S d ng phng th c Sort c a DataView.

Trang 36/63

www.ttcntt.wordpress.com

H ng d n th c hnh - L p trnh Windows nng cao

Module 13
N i dung ki n th c th c hnh: +T o Data From s d ng Data Form Wizard. +S d ng Data Source Configuration Wizard t o data-bound Windows Forms +S d ng Simple Bound control v Complex Bound control

Bi 1:
M c ch: T o DataBound control t DataSource Window, s d ng Wizard Kh o st i t ng DataBindingSource Xem xt kh nng h at ng c a cc relate records M t : Lab 1: Creating a Data-Bound Windows Form Exercise 1: Create a Data-Bound Form with the Data Sources Wizard (Trang 411-414) G i : Xem h ng d n th c hi n trong gio trnh.

Bi 2:
M c ch: S d ng i t ng DataBound Control S d ng Code t o binding v i control. Ci t cho ch Simple DataBound M t : Lab: Data Binding Controls Exercise 1: Simple Data Binding (Trang 419-421) G i : Xem h ng d n th c hi n trong gio trnh.

Bi 3:
M c ch: S d ng i t ng DataBound Control S d ng Code t o binding v i control. Ci t cho ch Complex Data Binding M t : Lab: Data Binding Controls Exercise 2: Complex Data Binding (Trang 421-423) G i : Xem h ng d n th c hi n trong gio trnh.

Bi 4:
M c ch: S d ng i t ng Listbox/Combobox v i ch Complex bound

Trang 37/63

www.ttcntt.wordpress.com

H ng d n th c hnh - L p trnh Windows nng cao

M t : Vi t chng trnh xem danh sch bi ht c a cc ca s . D li u g m 2 b ng: CASY(ma,ten); BAIHAT(ma,tenbaihat, nhacsy, macasy) Sinh vin xem xt v t thi t l p relation gi a cc b ng. Khi chng trnh v a c th c thi, trong combobox hi n th danh sch tn cc ca s . Khi ch n m t ca s no t danh sch, chng trnh hi n th danh sch cc bi ht c a ca s vo Listview bn d i.

G i : S d ng Thu c tnh DataSource, Datamember, DisplayMember,ValueMember c a Listbox/Combobox.

Bi 5:
M c ch: S d ng i t ng Listbox/Combobox v i ch Complex bound M t : Vi t chng trnh xem danh m c hng ha. Ch : c th c 2 m t hng trng tn.

Hi n th danh sch hng ha vo LISTBOX nh hnh khi v a th c thi chng trnh. Khi ng i s d ng click vo m t hng trong danh sch s hi n th thng tin chi ti t v m t hng (xem hnh). Vi c hi n th chi ti t m t hng vo cc Label s d ng c ch Bound Data. +Sau khi th c hi n xong cc yu c u trn, s a chng trnh th c hi n c ch Unbound hi n th chi ti t m t hng vo cc Label.

Trang 38/63

www.ttcntt.wordpress.com

H ng d n th c hnh - L p trnh Windows nng cao

G i : S d ng Thu c tnh DataSource, Datamember, DisplayMember,ValueMember c a Listbox/Combobox.

Bi 6:
M c ch: S d ng i t ng Listbox/Combobox v i ch Complex bound M t : Vi t chng trnh gip cho ng i mua hng xem xt danh m c linh ki n my tnh t i m t c a hng. D li u c thi t k nh sau:

Khi chn trnh v a th c thi, danh m c l ai linh ki n theo lo i hi n th trong listbox

Khi ng i s d ng ch n m t lo i linh ki n no , chng trnh s hi n th cc linh ki n thu c lo i trong listview. Khi ng i s d ng ch n m t hng trong listview, chong trnh s hi n th thng tin chi ti t v m t hng trong cc textbox nh hnh. (hi n th tn lo i hng) +Sau khi cc yu c u trn han t t, thay i i t ng Listview b ng DataGridView. G i :

Trang 39/63

www.ttcntt.wordpress.com

H ng d n th c hnh - L p trnh Windows nng cao

S d ng Thu c tnh DataSource, Datamember, DisplayMember,ValueMember c a Listbox/Combobox.

Trang 40/63

www.ttcntt.wordpress.com

H ng d n th c hnh - L p trnh Windows nng cao

Module 14
N i dung ki n th c th c hnh: +S d ng DataGridView control hi n th d li u t DataSet/DataTable. +Thi t l p thu c tnh c a DataGridView ty bi n cch hi n th d li u +S d ng DataBound control

Bi 1:
M c ch: S d ng DataGridView control hi n th d li u t DataSet/DataTable. Thm/Xa c t (Column) chho DataGrid lc Run-time. L y gi tr c a Cell hi n hnh c a DataGridView control S d ng s ki n CellValidating c a DataGridView ki m tra gi tr nh p vo Thay i mu s c cho cc hng c a DataGridView M t : Lab: Working with the DataGridView Exercise 1: Working with the DataGridView (Trang 431-435) G i : Xem h ng d n th c hi n trong gio trnh.

Bi 2:
M c ch: S d ng DataGridView v i ch Bound Data. S d ng Listbox v i ch Bound Data M t : Vi t chng trnh hi n th danh sch cc chuy n bay v danh sch hnh khch. D li u lu tr g m 2 b ng: Planes(ID, FueLeftKg,Model), Passengers(PassID, Name, PlaneID). Khi chng trnh v a th c thi, danh sch cc chuy n bay s hi n th trong DataGridView. Khi ng i s d ng ch n 1 chuy n bay no trong DataGrid, chng trnh s hi n th l ai my bay (Model) vo textbox pha d i, ng th i hi n th danh sch tn cc hnh khch i chuy n bay Listbox bn c nh. Ng i s d ng c th nh p v tm tn cc hnh khch t textbox nh p tn (Name) pha d i (xem hnh).

Trang 41/63

www.ttcntt.wordpress.com

H ng d n th c hnh - L p trnh Windows nng cao

G i : Xem cch s d ng DataGirdView khi ch n ph n t t i trang 431-435 t i gio trnh. K t xu t Dataset ch a danh sch khch cho chuy n bay v hi n th vo Listbox.

Bi 3:
M c ch: S d ng i t ng BindingSource M t : Vi t chng trnh xem danh sch bi ht c a cc ca s . D li u g m 2 b ng: CASY(ma,ten); BAIHAT(ma,tenbaihat, nhacsy, macasy) Sinh vin xem xt v t thi t l p relation gi a cc b ng. Khi chng trnh v a c th c thi, trong combobox hi n th danh sch tn cc ca s . Khi ch n m t ca s no t danh sch, chng trnh hi n th bi ht c a ca s vo textbox bn d i. Ng i s d ng c th duy t cc bi ht b ng nt di chuy n, c th th, xa hay s a cc bi ht c a ca s ang ch n. Ch l, trong qu trnh thm hay s a bi ht, chng trnh khng cho php ng i s d ng ch n ca s khc.

G i : Xem h ng d n th c hi n trong gio trnh.

Trang 42/63

www.ttcntt.wordpress.com

H ng d n th c hnh - L p trnh Windows nng cao

Bi 4:
M c ch: S d ng i t ng DataBound Control S d ng Code t o binding v i control. Ci t cho ch Complex Data Binding M t : Vi t chng trnh hi n th danh sch nhn vin c a TrungTm CNTT HUI. D li u g m 1 table: NHANVIEN(ma, ten, diachi, SDT, quequan, CMND, CMNDngay ,CMNDNoi) Cc phm mi tn dng di chuy n qua l i gi a cc record. Khi di chuy n gi a cc nhn vin, chng trnh hi n th v tr hi n t i c a nhn vin vo label pha d i. Chng trnh cho php c p nh t nhn vin b ng cc nt: Thm, S a, Xa, Lu nh hnh. M t nh, nt Lu khng cho php h at ng (Enable=False). Khi B m nt Thm: +Nt Thm tr thnh nt H y B +Nt Lu cho php h at ng. +Cc nt cn l i khng cho php h at ng Khi B m nt S a: +Nt S a tr thnh nt H y B +Nt Lu cho php h at ng. +Cc nt cn l i khng cho php h at ng Khi B m nt Xa: +Chng trnh s h i xc nh n vi c xa. N u ng , chng trnh s xa nhn vin hi n t i

G i : S d ng DataBinding th c hi n hi n th d li u. S d ng DataAdapter/Dataset cho v c c p nh t d li u.

Bi 5:
M c ch: S d ng i t ng DataBound Control S d ng Code t o binding v i control.

Trang 43/63

www.ttcntt.wordpress.com

H ng d n th c hnh - L p trnh Windows nng cao

S d ng Binding v i Combobox/Listbox M t : Vi t chng trnh hi n th danh sch nhn vin c a TrungTm CNTT HUI. D li u g m 2 table: NHANVIEN(ma, ten, diachi, SDT, Maquequan, CMND, CMNDngay ,CMNDNoi) THANHPHO (matp, TenTP) Trong , Maquaquan c a b ng NhnVin l kha ng ai c a B ng ThnhPh . Cc phm mi tn dng di chuy n qua l i gi a cc record. Khi di chuy n gi a cc nhn vin, chng trnh hi n th v tr hi n t i c a nhn vin vo label pha d i. Chng trnh cho php c p nh t nhn vin b ng cc nt: Thm, S a, Xa, Lu nh hnh. M t nh, nt Lu khng cho php h at ng (Enable=False). Khi B m nt Thm: +Nt Thm tr thnh nt H y B +Nt Lu cho php h at ng. +Cc nt cn l i khng cho php h at ng Khi B m nt S a: +Nt S a tr thnh nt H y B +Nt Lu cho php h at ng. +Cc nt cn l i khng cho php h at ng Khi B m nt Xa: +Chng trnh s h i xc nh n vi c xa. N u ng , chng trnh s xa nhn vin hi n t i

+Sau khi chng trnh th c thi, chuy n i tr ng NiC p c a b ng NhanVien thnh kha ng ai (MaNoiCap) c a b ng ThanhPho v i textbox thnh ComBoBox. G S S S i : d ng DataBinding th c hi n hi n th d li u. d ng DataAdapter/Dataset cho v c c p nh t d li u. d ng cc thu c tnh th c hi n k t n i v i 2 b ng c a Combobox

Trang 44/63

www.ttcntt.wordpress.com

H ng d n th c hnh - L p trnh Windows nng cao

Bi 6
M c ch: Sinh vin nh n bi t tr ng h p c s d ng DataBound hay khng? M t : Vi t chng trnh gip cho ng i mua hng xem xt danh m c linh ki n my tnh t i m t c a hng. D li u c thi t k nh sau:

Danh m c l ai linh ki n v linh ki n hi n th vo Treeview ngay khi chng trnh v a kh i ng. Khi ch n lo i hng treeview, chng trnh hi n th vo listview cc hng ha c a lo i hng vo Listview. Khi ch n m t linh ki n no treeview, chng trnh hi n th chi ti t hng ha ang ch n vo listview. +Sau khi cc yu c u trn c th c hi n han t t, chuy n Listview thnh DataGridView.

G i : S d ng Dataset v i Treeview. Nn vi t hm chia nh cng vi c. Quy t nh s d ng Bound hay UnBound?

Trang 45/63

www.ttcntt.wordpress.com

H ng d n th c hnh - L p trnh Windows nng cao

Module 15
N i dung ki n th c th c hnh: +Vi t chng trnh s d ng ki n trc 3-tier +S d ng Binding

Bi 1:
M c ch: S d ng ki n trc 3-tier vi t chng trnh login. M t : Vi t chng trnh cho php ng i s d ng ng nh p vo h th ng. Giao di n nh hnh d i. D li u s d ng MS Access ho c SQL Server do SV ty ch n, g m 1 table: TaiKhoan(tentaikhoan, password) N u ng i s d ng ng nh p 3 l n lin ti p m khng thnh cng th chng trnh s t ng that.

G i : Chia cc l p vo cc folder ring d dng qu n l. Th c hi n vi t cc class theo th t .

Bi 2:
M c ch: S d ng ki n trc 3-tier vi t chng trnh thay i password. M t : M r ng chng trnh bo t p trn, vi t chng trnh cho php ng i s d ng thay i password sau khi ng nh p thnh cng vo h th ng. C s d li u v n nh c. Giao di n chng trnh nh hnh d i. Yu c u ki m tra: password m i ph i t i thi u 4 k t , cc k t khng c gi ng nhau, v khng c gi ng password tr c khi i.

Trang 46/63

www.ttcntt.wordpress.com

H ng d n th c hnh - L p trnh Windows nng cao

G i : Th c hi n ki m tra t i t ng tng

ng.

Bi 3:
M c ch: S d ng ki n trc 3-tier v i n n t ng ADO.NET vi t chng trnh nh p li u cho cng ty v n t i. M t : S d ng ki n trc 3-tier vi t chng trnh tnh doanh thu n gi n cho cng ty v n t i bi n, s d ng t i khu xu t hng t i c ng, dng tnh s ti n thanh tan b i cc khch hng. Cc s li u ny dng so snh v i s li u t i chi nhnh chnh. Chi ph thanh tan cho m i l hng c n v n chuy n ph thu c vo tr ng l ng c a l hng v ni i n, c cho b i cc b ng bn d i. Yu c u chng trnh nh sau: Thi t k database MS Access v i relationship c 2 table: NoiDen (Ma,Ten,Gia) v DoanhThu (Ngay, noiden, soluong) S li u m u c cho nh sau:

Trang 47/63

www.ttcntt.wordpress.com

H ng d n th c hnh - L p trnh Windows nng cao

Chng trnh cho php ng i s d ng nh p tr ng l ng c a l hng v ch n ni n (xem hnh). Ngy g i l hng i l ngy hi n hnh c a my. N u trong m t ngy, c 2 l hng chuy n n cng m t a i m th chng trnh s c ng d n kh i l ng vo n i n (ch quan tm n ni n, khng quan tm n ng i g i). Hi n t i do kh nng cng ty ch c h n, nhng khch hnh qu nhi u, nn m i ki n hng khng c qu 50 t n.

Khi ng i s d ng ch n nt Bo Co th hi n Form tnh t ng doanh thu theo ni n theo ngy hi n hnh. (Xem hnh) Cc d li u bo co c n p ng v hi n th trong m t Panel. Ch hi n th nh ng ni n c doanh thu >0. G i : Ci t lu t ki m tra vo ng t ng tng ng.

Bi 4:
M c ch: S d ng ki n trc 3-tier v i n n t ng ADO.NET vi t chng trnh nh p i m cho Trung Tm CNTT HUI. M t :

Trang 48/63

www.ttcntt.wordpress.com

H ng d n th c hnh - L p trnh Windows nng cao

S d ng ki n trc 3-tier vi t chng trnh nh p i m cho m t trung tm tin h c. M i l p h c tng ng v i m t mn h c c m duy nh t trong m t kha. S l p h c c cho b i b ng bn d i. Yu c u chng trnh nh sau: Thi t k database MS Access v i relationship c 3 table: +Lop (Ma,Ten) +SinhVien (Ma, ten, lop) +Diem (maSV,maLop,Diem) Tiu c a cc form v tn Sollution l tn c a sinh vin Thi t k giao di n chng trnh cho nh cc hnh d i

Khi Gio vin ch n l p h c t combobox (d li u l p h c c n p t database), chng trnh n p ng danh sch sinh vin v textbox nh p i m trong. (xem hnh). i v i l p c i m, chng trnh hi n i m c a cc sinh vin l p , v nt C p Nh t b m . (i m nh p r i khng cho php s a). N u l p cha nh p i m, chng trnh hi n textbox r ng, v nt C p Nh t b sng cho php nh p i m v lu. Sau khi nh p i m cho cc sinh vin trong cc textbox, gio vin b m nt C p Nh t v chng trnh lu tan b i m vo database. Cc sinh vin khng c i m - textbox trng (b thi) s nh n gi tr -1 khi lu xu ng database. Chng trnh s ki m tra i m nh p c h p l hay khng (t 0..10, l ki u s ho c b tr ng). Cc textbox i m khng h p l s c d u bo l i bn c nh. G i : N p ng i t ng. S d ng thu c tnh tag. S d ng i t ng ErrorProvider.

Trang 49/63

www.ttcntt.wordpress.com

H ng d n th c hnh - L p trnh Windows nng cao

Module 16
N i dung ki n th c th c hnh: +Vi t chng trnh s d ng ki n trc 3-tier +S d ng Crystal Report.

Bi 1:
M c ch: Dng ki n trc 3-tier vi t chng trnh n gi n qu n l t i c a hng Internet. Gi s phng my hi n t i c 2 my tnh. M t : Thi t k DataBase g m cc b ng: ThueMay(SoMay, GioBatDau, GioKetThuc, SoTien). DonGia(TienThueMotGio). A. Khi chng trnh v a c th c thi: +Cc hnh trong khung my 1 v my 2 c hnh l My tnh (sinh vin t ch n hnh thch h p) v cc my cha c cho thu. +Cc Label hi n gi r ng B. Khi ng i s d ng click vo hnh c a my 1 ho c my 2 (tng ng v i thao tc cho thu hay tr my) th: +N u l my cha thu: (c hnh l My tnh) - i hnh (tng ng v i my tnh) my tnh thnh hnh ng h -Hi n gi hi n t i vo label label pha trn (gi vo thu my) +N u l my ang thu: (c hnh l ng h ) -Hi n gi hi n t i label pha d i (gi tr my) -D a vo Gi v Pht (khng c n quan tm n s giy) trn cc label B t u v K t thc tnh ra s ti n ph i tr , r i dng Msgbox thng bo (ti n thu my l 3000/gi ), lu tr vo database. - i picture c a image thnh hnh My tnh -Xa n i dung trong cc Label B t u v K t thc

Trang 50/63

www.ttcntt.wordpress.com

H ng d n th c hnh - L p trnh Windows nng cao

C. Khi ng i s d ng Click vo nt K t thc: Ki m tra n u c my ang thu ph i nh c nh ng i s d ng b ng h p tho i v khng cho thot, cn n u c my no ang thu th l p t c thot chng trnh. D. Thm menu dng hi n Report danh sch cc record thu my. G i : Thi t k chng trnh c kh nng m r ng cho nhi u my. S d ng ch trn 2 my.

Bi 2:
M c ch: Dng ki n trc 3-tier vi t chng trnh dng cho vi c ch n ng u nhin danh sch sinh vin. M t : Hng nm, Trung Tm CNTT ch n ng u nhin m t s sinh vin c a Trung Tm theo di nh gi tnh hnh h c t p, tc phong nh m rt ra cc thng tin c i ti n vi c d y h c. Chng trnh s ch n ng u nhin m t s sinh vin t c s d li u. Database g m 1 table: SinhVin(Ma,Ho,Ten,Lop) Chng trnh cho php nh p s sinh vin, v s hi n th danh sch sinh vin c ch n ng u nhin t c s d li u c a Trung Tm CNTT-HUI.

Sau khi hi n th ng u nhin s sinh vin (n p ng), chng trnh cho php tm ki m theo h trong cc sinh vin v a ch n (hi n th mu cho bi t cc sinh vin th a yu c u). Thm menu dng xu t Report in gi y danh sch cc sinh vin ng u nhin ny.

Trang 51/63

www.ttcntt.wordpress.com

H ng d n th c hnh - L p trnh Windows nng cao

G i : Xem h ng d n th c hi n trong gio trnh.

Bi 3:
M c ch: Dng ki n trc 3-tier vi t chng trnh qun l danh sch ca s - bi ht. M t : Vi t chng trnh xem danh m c bi ht c a cc ca s . D li u c thi t k v i 2 b ng nh sau.

+ Hi n th danh sch ca s hnh bn. Chng trnh cho php Thm ca s vo database v c p nh t vo listview bn d i. Khi ng i s d ng ch n ca s trong listview v b m nt Xa, chng trnh s xo ca s ang ch n ra kh i danh sch.

Trang 52/63

www.ttcntt.wordpress.com

H ng d n th c hnh - L p trnh Windows nng cao

+ Khi ng i s d ng click vo nt l nh Xem Bi Ht, chng trnh s hi n th danh sch cc bi ht (c a ca s ang ch n trong listview) hi n th c a s nh hnh d i.

Bi 4:
M c ch: Dng ki n trc 3-tier vi t chng trnh dng cho vi c tnh ti n cho thu t i m t phng my. M t : M t phng my Internet g m nhi u my c n chng trnh tnh ti n thu my. D li u g m cc table: +MayTinh(somay, ghichu). +ThueMay(Somay,ngaygiothue,thoigian,thanhtien)

Chng trnh lc ban u kh i ng s n p ng danh sch my. Cc checkbox s tr ng. S c Tooltip hi n th v ghi ch c a m i my khi ng i s d ng a chu t vo cc control my tng ng. Cc textbox khng cho php nh p li u. Khi c khch vo thu, ng i s d ng s nh d u vo checkbox my tng ng. i tooltip c a cc textbox l gi b t u thu, ng th i hi n th my tnh c thu vo Listbox.

Trang 53/63

www.ttcntt.wordpress.com

H ng d n th c hnh - L p trnh Windows nng cao

Sau m t kh ang th i gian 1 pht, chng trnh t v tnh ti n.

ng tnh th i gian thu my,

Khi ng i thu tr my, ng i s d ng t t checkbox tng ng sau khi tnh ti n xong. Chng trnh lu tr record thu my vo database. Thm menu cho pho th ng k t ng s ti n thu c trong ngy hi n t i. G i : S S d ng Timer v i Interval=1000*60 d ng i t ng ToolTip

Bi 5:
M c ch: Dng ki n trc 3-tier vi t chng trnh dng cho vi c qu n l contact. M t : Cng ty NOKIA c n m t chong trnh Demo cho i n chng trnh qu n l danh m c s i n tho i v i cc yu c u: (nh hnh d i) +D li u c lu trong 2 text file: Sim.mdb v Phone.mdb. +File Sim.mdb ch lu c t i a 10 contact. N u qu 10 contact, chng trnh s lu vo phone.mdb. +Phone.mdb ch lu t t a 20 contact. N u qu 20 contact, chng trnh s khng th lu tr s m i. +Ng i s d ng tm contact thng qua tn. Khi , chng trnh s hi n th t t c contact ch a tn c n tm. +Khi lu vo contact m i, n u trng tn hay SDT, chng trnh s thng bo xc nh n. N u ng i s d ng ng , chng trnh s ti p t c lu thnh 1 contact m i. Vi t chng trnh theo ki n truc 3-tier th c hi n cc yu c u trn. S d ng Class Library (DLL) phn tch business tier, data-tier.

Trang 54/63

www.ttcntt.wordpress.com

H ng d n th c hnh - L p trnh Windows nng cao

Module 17
N i dung ki n th c th c hnh: +Vi t chng trnh s d ng ch c nng Drag-Drop +S d ng giao di n MDI +S d ng cc control tr gip cho vi c thi t k giao di n: Timer, ErrorProvider, ToolStrip, StatusBar

Bi 1:
M c ch: Vi t chng trnh th c hi n ch c nng Drag-Drop gi a cc ph n t c a Treeview. M t : Implement Drag-and-Drop functionality in a TreeView control (Trang 528529) G i : Xem h ng d n th c hi n trong gio trnh.

Bi 2:
M c ch: Vi t chng trnh th c hi n ch c nng Drag-Drop gi tr gi a cc Textbox. M t : Lab: Implement Drag and Drop Exercise 1: Implementing Drag and Drop (Trang 530) G i : Xem h ng d n th c hi n trong gio trnh.

Bi 3:
M c ch: Vi t chng trnh t o giao di n MDI. M t : Lab: Create a Simple MDI Application Exercise 1: Creating an MDI Application (Trang 547-549) G i : Xem h ng d n th c hi n trong gio trnh.

Bi 4:
M c ch: S d ng cc i t ng tr gip cho vi c thi t k giao di n chng trnh: Timer, Tooltip M t : Lab: Practice with User Assistance Controls Exercise 1: Creating a Simple Digital Clock (Trang 581-582) Exercise 3: Providing Tooltips for Your Application (Trang 582) G i :

Trang 55/63

www.ttcntt.wordpress.com

H ng d n th c hnh - L p trnh Windows nng cao

Xem h ng d n th c hi n trong gio trnh.

Bi 5:
M c ch: S d ng MDI M t : Vi t chng trnh d ng MDI ch a 1 form chnh (frmMain) v 2 form con (frmOne v frmTwo), 1 form splash (frmSplash), 1 form about (frmAbout). +Trn form frmMain c cc menu items trong menu File: [Display Form 1], [Display Form 2] dng kch ho t cc form con tng ng, v menu [Exit]. +Trn form frmMain c cc menu items trong menu Windows: [Tile Vertical], [Tile Horizontal], [Cascade] v [ShowWindowList]. +Trn form frmMain c cc menu items trong menu About: [About Programmer] +Trn form frmMain c 1 status bar dng hi n th ngy thnh hi n t i. +Trn form frmMain c 1 toolbar dng kch ho t cc form con +M i form con c nt l nh Close n chng. G i : Xem h ng d n th c hi n trong gio trnh.

Trang 56/63

www.ttcntt.wordpress.com

H ng d n th c hnh - L p trnh Windows nng cao

Module 18
N i dung ki n th c th c hnh: +Th c hi n ch c nng ng gi chng trnh

Bi 1:
M c ch: Th c hi n ng gi chng trnh. M t : Vi t chng trnh n gi n dng ki m tra m t s c ph i l s nguyn t t hay khng. Th c hi n ng gi chng trnh v i cc yu c u sau: +Tn Shortcut Desktop l HUI_TTCNTT_GiaiToan + Tn Shortcut StartMenu l GiaiToan TTCNTT HUI +Chng trnh n m trong folder HUI-TTCNTT menu Start G i : Xem h ng d n th c hi n trong gio trnh.

Bi 2:
M c ch: Th c hi n ng gi chng trnh v i c s d li u MS Access. n t p cc n i dung ki n th c h c. M t : Vi t chng trnh n gi n dng qu n l danh sch nhn vin c a Trung Tm CNTT - HUI. D li u g m 1 table: NhanVien(ma,ten,diachi). Chng trnh cho php thm, s a, xa nhn vin, cho php duy t danh sch nhn vin. Chng trnh cho php xu t Report (Crystal Report) in n danh sch cc nhn vin c a Trung Tm CNTT-HUI. Chng trnh c xy d ng trn ki n trc 3-tier. Sinh vin ty ch n giao di n. Th c hi n ng gi chng trnh v i cc yu c u sau: +Tn Shortcut Desktop l HUI_TTCNTT_NV + Tn Shortcut StartMenu l NVTTCNTT HUI +Chng trnh n m trong folder HUI-TTCNTT menu Start +Khi ci t, file MS Access t ng a vo c ng +Sinh vin ty ch n m t kh u (serial key) trong qu trnh ci t chng trnh. G i : Xem h ng d n th c hi n trong gio trnh.

Bi 3:
M c ch: Th c hi n t ng h p cc ki n th c h c. M t : Cng ty Walls chuyn s n xu t v cc lo i kem do chnh cng ty s n xu t. Hi n nay cng ty s n xu t nhi u l ai lo i kem (trong hnh 1). Cng ty c n m t chng trnh theo di s l ng t ng k t kem bn ra theo t ng lo i (tnh theo n v t n) theo t ng qu (c 3 qu trong nm). Vi t chng trnh qu n l doanh s bn c a cng ty theo yu c u sau:

Trang 57/63

www.ttcntt.wordpress.com

H ng d n th c hnh - L p trnh Windows nng cao

Giao di n chnh cho chng trnh nh hnh.

li u g m cc table: +LoaiKem(ma,tenloai,dongia) +DoanhThuTheoQuy(maloai, quy, soluong) (Qu: c lu tr l cc con s 1,2,3).

Chng trnh n p ng danh sch l ai kem trn mn hnh. ghi l i doanh s m i lo i kem, sau khi ch n lo i kem v qu (trong listbox), ng i s d ng nh p s l ng bn v nh n nt OK. Sau khi nh n OK, chng trnh s c p nh t s l ng kem bn c a lo i kem ch n theo qu ch n, v b ch n lo i kem. (Chng trnh ph i ki m tra v thng bo l i n u ng i s d ng khng ch n lo i kem, qu, ho c nh p s l ng khng h p l ). +Khi b n nt bo co Theo Lo i Kem, chng trnh hi n th c a s cho bi t t ng doanh s t ng qu c a lo i kem ang ch n. Chng trnh ph i ki m tra tr ng h p khng ch n lo i kem.

+Khi b m nt bo co Ton B Lo i Kem, chng trnh hi n th c a s bi t doanh s t ng lo i kem theo t ng qu m cng ty bn.

cho

Trang 58/63

www.ttcntt.wordpress.com

H ng d n th c hnh - L p trnh Windows nng cao

+ Khi b n nt bo co T ng K t Doanh S , chng trnh hi n th c a s cho bi t t ng s cc lo i kem theo t ng qu m cng ty bn. (Hnh 4).

+ Thm vo c a s chnh 1 nt l nh dng m 1 c a s bo co. (CrystalReport). C a s ny x p h ng doanh thu tng d n theo l ai kem.

Bi 4:
M c ch: Vi t chng trnh 3-tier. M t : Vi t chng trnh xem danh m c sch hi n ang c bn t i nh sch Khai Tr. Ng i mua sch s d ng chng trnh xem xt gi c tr c khi ch n mua. C s d li u c thi t k g m 3 Table: LOAISACH, SACH, NHAXUATBAN v i c u trc nh sau

Trang 59/63

www.ttcntt.wordpress.com

H ng d n th c hnh - L p trnh Windows nng cao

+N u ng i s d ng ch n Option Lo i Sch, chng trnh hi n th danh m c sch trong TreeView phn theo Lo i Sch. +N u ng i s d ng ch n Option Nh Xu t B n, chng trnh hi n th danh m c linh ki n trong TreeView phn theo Nh Xu t B n. Ch : M c nh khi chng trnh v a c n p, th Option Lo i Sch c ch n s n (t c l hi n th theo Lo i Sch).

Bi 5:
M c ch: Vi t chng trnh 3-tier. M t :

Trang 60/63

www.ttcntt.wordpress.com

H ng d n th c hnh - L p trnh Windows nng cao

Chng trnh c vi t trn ki n trc N-tier. Xy d ng ng d ng qu n l s i n th ai c a khch hng theo t ng vng. D li u c lu tr vo mdb file do sinh vin t thi t k . Chng trnh g m 2 Form. Form nh p danh sch khch hnh v Form nh p ch n m vng. C a s th 2 dng ch n vng. Sinh vin phn tch cc thnh ph n tr c khi l p trnh.

Bi 6:
M c ch: Vi t chng trnh 3-tier dng cho v c tr - m n sch. M t : T o file ThuVien.MDB v i 3 table: DOCGIA, SACH, MUON nh m t d i. Chng trnh ny do th th s d ng, dng cho vi c m n v tr sch, ng th i nh p th m i cho c gi m i. Giao di n c a chng trnh bn d i. Yu c u: +Khi th th ch n sch ang m n trong ListView, th nt l nh Tr m i cho php ho t ng, v dng h y record m n sch c a sinh vin ang ch n v i u sch ang ch n.

Trang 61/63

www.ttcntt.wordpress.com

H ng d n th c hnh - L p trnh Windows nng cao

+Khi th th b m nt M n, chng trnh hi n th h p tho i nh p vo S ng K c a sch, v lu thng tin m n sch cho sinh vin ang ch n trong ListBox. +M i c gi ch c m n t i a 5 u sch. +M i u sch ch c m n t i a 1 thng. N u c gi c sch m n qu h n th khng th m n ti p. +M i u sch ch c m n b i 1 sinh vin trong cng 1 th i i m. +Chng trnh s +Chng trnh s d ng ki n trc 3-tier, v i 3 project c l p. d ng s d ng Query tham s

Bi 7:
M c ch: Vi t chng trnh 3-tier dng cho v c nh p i m. M t : Bi 5. Tr ng i H c Cng Nghi p Thnh Ph H Ch Minh s Server lu tr danh sch sinh vin v b ng i m c a h c sinh D li u c thi t k nh sau: +MonHoc(Ma,ten) +LopHoc(Ma,ten) +SV(Ma,Ten,Malop) +i m (masv,mamon,diem) d ng SQL

Trang 62/63

www.ttcntt.wordpress.com

H ng d n th c hnh - L p trnh Windows nng cao

Vit chng trnh hi n th danh sch sinh vin theo l p ang ch n (t combo). +Ch : Danh sch sinh vin c s p x p theo trnh t (tn, v h ). Lu c p nh t i m c a ton b l p vo database HUI.

Lu

Trang 63/63

You might also like