Windows Application Windows Application - - Editor Editor : : Đo Đo à à n n Quang Minh Quang Minh 1 1 C# and .NET Framework C# and .NET Framework B B à à i 5: i 5: Windows Application Windows Application Đo Đo à à n Quang Minh n Quang Minh minhdqtt@gmail.com minhdqtt@gmail.com http http ://www.VTPortal.net ://www.VTPortal.net Last update: Last update: 30. December 2006 30. December 2006 Windows Application Windows Application - - Editor Editor : : Đo Đo à à n n Quang Minh Quang Minh 2 2 M M ụ ụ c l c l ụ ụ c c Windows Application in .NET Windows Application in .NET Windows Forms Windows Forms Windows Controls Windows Controls Custom Controls Custom Controls Windows Application Windows Application - - Editor Editor : : Đo Đo à à n n Quang Minh Quang Minh 3 3 Windows Application in .NET Windows Application in .NET L L ị ị ch s ch s ử ử ứ ứ ng d ng d ụ ụ ng trên Windows ng trên Windows – – C C ó ó hai lo hai lo ạ ạ i i ứ ứ ng d ng d ụ ụ ng: rich client v ng: rich client v à à thin client. thin client. – – Ứ Ứ ng d ng d ụ ụ ng rich client c ng rich client c ó ó nhi nhi ề ề u ưu đi u ưu đi ể ể m: giao di m: giao di ệ ệ n đ n đ ẹ ẹ p, t p, t ố ố c đ c đ ộ ộ x x ử ử lý cao, t lý cao, t ậ ậ n d n d ụ ụ ng đư ng đư ợ ợ c c c c á á c s c s ứ ứ c m c m ạ ạ nh c nh c ủ ủ a h a h ệ ệ đi đi ề ề u h u h à à nh. nh. – – C C á á c c ứ ứ ng d ng d ụ ụ ng rich client đư ng rich client đư ợ ợ c xây d c xây d ự ự ng d ng d ự ự a trên c a trên c á á c h c h à à m API m API (Application Programming Interface). Do t (Application Programming Interface). Do t í í nh ph nh ph ứ ứ c t c t ạ ạ p, nên xu p, nên xu ấ ấ t t hi hi ệ ệ n m n m ộ ộ t s t s ố ố môi trư môi trư ờ ờ ng l ng l ậ ậ p tr p tr ì ì nh kh nh kh á á c (Visual Basic, MFC trên c (Visual Basic, MFC trên Visual C++). Visual C++). – – .NET cung c .NET cung c ấ ấ p m p m ộ ộ t gi t gi ả ả i ph i ph á á p đơn gi p đơn gi ả ả n v n v à à hi hi ệ ệ u qu u qu ả ả trong vi trong vi ệ ệ c c l l ậ ậ p tr p tr ì ì nh c nh c á á c c ứ ứ ng d ng d ụ ụ ng rich client trên Windows ng rich client trên Windows namespace namespace System.Windows.Forms System.Windows.Forms – – Cung Cung c c ấ ấ p p c c á á c c đ đ ố ố i i tư tư ợ ợ ng ng đ đ ể ể l l à à m m vi vi ệ ệ c c v v ớ ớ i i Windows Form Windows Form Cho Cho ph ph é é p p x x ử ử lý lý c c á á c c s s ự ự ki ki ệ ệ n n chu chu ộ ộ t t v v à à b b à à n n ph ph í í m m Cho Cho ph ph é é p p x x ử ử lý lý c c á á c c n n ú ú t t l l ệ ệ nh nh , , c c á á c c h h ộ ộ p p so so ạ ạ n n th th ả ả o o , , c c á á c c thanh thanh cu cu ộ ộ n n , , c c á á c c c c ử ử a a s s ổ ổ , , … … Windows Application Windows Application - - Editor Editor : : Đo Đo à à n n Quang Minh Quang Minh 4 4 Windows Forms Windows Forms L L à à c c á á c c c c ử ử a a s s ổ ổ c c ủ ủ a a ứ ứ ng ng d d ụ ụ ng ng ch ch ạ ạ y y trên trên Windows Windows – – T T ạ ạ o o ứ ứ ng ng d d ụ ụ ng ng rich client rich client C C ó ó í í t t nh nh ấ ấ t t m m ộ ộ t t form form k k ế ế th th ừ ừ a a t t ừ ừ Form. Form. Trên Trên form form c c ó ó th th ể ể ch ch ứ ứ a a c c á á c c control. control. M M ộ ộ t t control control c c ó ó th th ể ể ph ph á á t t sinh sinh s s ự ự ki ki ệ ệ n n : : đ đ ể ể x x ử ử lý lý ph ph ả ả i i handler handler s s ự ự ki ki ệ ệ n n . . Thay Thay đ đ ổ ổ i i di di ệ ệ n n m m ạ ạ o o c c ủ ủ a a form form ho ho ặ ặ c c control control b b ằ ằ ng ng c c á á ch ch thay thay đ đ ổ ổ i i c c á á c c thu thu ộ ộ c c t t í í nh nh . . Thu Thu ộ ộ c c t t í í nh nh quan quan tr tr ọ ọ ng ng ( ( m m ớ ớ i i ): Anchor ): Anchor – – Menu Menu M M ộ ộ t t ứ ứ ng ng d d ụ ụ ng ng c c ó ó th th ể ể c c ó ó h h ệ ệ th th ố ố ng ng menu. Menu menu. Menu c c ó ó th th ể ể c c ó ó nhi nhi ề ề u u l l ớ ớ p p . . Thu Thu ộ ộ c c t t í í nh nh quan quan tr tr ọ ọ ng ng : Name : Name v v à à Text. Text. S S ự ự ki ki ệ ệ n n quan quan tr tr ọ ọ ng ng : click : click Menu Menu c c ó ó th th ể ể thay thay đ đ ổ ổ i i thu thu ộ ộ c c t t í í nh nh l l ú ú c c run run - - time time – – Context menu Context menu M M ộ ộ t t đ đ ố ố i i tư tư ợ ợ ng ng c c ó ó th th ể ể c c ó ó menu menu ng ng ữ ữ c c ả ả nh nh . . Menu Menu ng ng ữ ữ c c ả ả nh nh ho ho ạ ạ t t đ đ ộ ộ ng ng gi gi ố ố ng ng menu menu thông thông thư thư ờ ờ ng ng . . – – B B à à i i t t ậ ậ p p : : xây xây d d ự ự ng ng tr tr ì ì nh nh Notepad Notepad Windows Application Windows Application - - Editor Editor : : Đo Đo à à n n Quang Minh Quang Minh 5 5 Windows Forms Windows Forms Dialogs Dialogs – – Hi Hi ể ể n n th th ị ị thông thông b b á á o o v v à à nh nh ậ ậ n n tr tr ả ả l l ờ ờ i i c c ủ ủ a a ngư ngư ờ ờ i i d d ù ù ng ng . . – – C C ó ó hai hai ki ki ể ể u u Modal Modal v v à à Modeless. Modeless. – – C C ó ó th th ể ể tr tr ả ả v v ề ề c c á á c c gi gi á á tr tr ị ị : Abort, Cancel, Ignore, No, Yes, None, : Abort, Cancel, Ignore, No, Yes, None, Ok, Retry. Ok, Retry. – – Đ Đ ể ể hi hi ể ể n n th th ị ị h h ộ ộ p p tho tho ạ ạ i i , , d d ù ù ng ng phương phương th th ứ ứ c c Form.ShowDialog Form.ShowDialog (). (). Phương Phương th th ứ ứ c c n n à à y y s s ẽ ẽ tr tr ả ả v v ề ề gi gi á á tr tr ị ị thu thu ộ ộ c c ki ki ể ể u u DialogResult DialogResult . . Common Dialogs: Common Dialogs: h h ộ ộ p p tho tho ạ ạ i i thông thông d d ụ ụ ng ng – – Windows Windows cung cung c c ấ ấ p p s s ẵ ẵ n n m m ộ ộ t t s s ố ố h h ộ ộ p p tho tho ạ ạ i i thông thông d d ụ ụ ng ng . . Đ Đ ó ó l l à à c c á á c c h h ộ ộ p p ch ch ọ ọ n n font, font, ch ch ọ ọ n n m m à à u u , , m m ở ở file, file, đ đ ó ó ng ng file, file, … … – – M M ỗ ỗ i i h h ộ ộ p p tho tho ạ ạ i i tương tương ứ ứ ng ng v v ớ ớ i i 1 1 l l ớ ớ p p trong trong namespace Forms, namespace Forms, v v à à c c ó ó tương tương ứ ứ ng ng c c á á c c thu thu ộ ộ c c t t í í nh nh đ đ ặ ặ c c trưng trưng riêng riêng bi bi ệ ệ t t . . C C á á c c l l ớ ớ p p bao bao g g ồ ồ m m : : ColorDialog ColorDialog , , FontDialog FontDialog , , OpenFileDialog OpenFileDialog , , SaveFileDialog SaveFileDialog , , PageSetupDialog PageSetupDialog , , PrintDialog PrintDialog , , PrintPreviewDialog PrintPreviewDialog . . – – B B à à i i t t ậ ậ p p : : l l à à m m t t ố ố t t hơn hơn ứ ứ ng ng d d ụ ụ ng ng Notepad. Notepad. Windows Application Windows Application - - Editor Editor : : Đo Đo à à n n Quang Minh Quang Minh 6 6 Windows Controls Windows Controls C C ó ó r r ấ ấ t t nhi nhi ề ề u u control control trong trong Windows. Windows. M M ỗ ỗ i i control control đ đ ề ề u u c c ó ó th th ể ể đi đi ề ề u u khi khi ể ể n n thông thông qua qua c c á á c c phương phương th th ứ ứ c c / / thu thu ộ ộ c c t t í í nh nh v v ớ ớ i i tên tên g g ợ ợ i i nh nh ớ ớ . . – – Labels Labels – – Buttons Buttons – – Checkboxes Checkboxes – – Menus Menus – – Radio buttons Radio buttons – – Combo boxes Combo boxes – – Listboxes Listboxes – – Textboxes Textboxes – – Tabcontrols Tabcontrols – – Toolbars Toolbars – – Tree views Tree views Windows Application Windows Application - - Editor Editor : : Đo Đo à à n n Quang Minh Quang Minh 7 7 Windows Controls Windows Controls Data Binding Data Binding – – L L à à phương phương ph ph á á p p g g ắ ắ n n k k ế ế t t d d ữ ữ li li ệ ệ u u v v à à o o m m ộ ộ t t control control M M ỗ ỗ i i control control đ đ ề ề u u ch ch ứ ứ a a d d ữ ữ li li ệ ệ u u . . V V í í d d ụ ụ : : h h ộ ộ p p checkbox checkbox s s ẽ ẽ ch ch ứ ứ a a d d ữ ữ li li ệ ệ u u ki ki ể ể u u bool bool , , h h ộ ộ p p textbox textbox ch ch ứ ứ a a d d ữ ữ li li ệ ệ u u ki ki ể ể u u string, string, h h ộ ộ p p listbox listbox ch ch ứ ứ a a d d ữ ữ li li ệ ệ u u ki ki ể ể u u t t ậ ậ p p h h ợ ợ p p . . Khi Khi c c ó ó m m ộ ộ t t ngu ngu ồ ồ n n d d ữ ữ li li ệ ệ u u , , c c ó ó th th ể ể g g ắ ắ n n v v à à o o m m ộ ộ t t control: control: thông thông thư thư ờ ờ ng ng control control s s ẽ ẽ ch ch ứ ứ a a m m ộ ộ t t t t ậ ậ p p d d ữ ữ li li ệ ệ u u , , nhưng nhưng ch ch ỉ ỉ c c ó ó m m ộ ộ t t m m ẩ ẩ u u d d ữ ữ li li ệ ệ u u đư đư ợ ợ c c x x á á c c đ đ ị ị nh nh l l à à hi hi ệ ệ n n th th ờ ờ i i . . interface interface IList IList – – M M ộ ộ t t đ đ ố ố i i tư tư ợ ợ ng ng d d ữ ữ li li ệ ệ u u mu mu ố ố n n tr tr ở ở th th à à nh nh ngu ngu ồ ồ n n d d ữ ữ li li ệ ệ u u th th ì ì ph ph ả ả i i c c à à i i đ đ ặ ặ t t giao giao ti ti ế ế p p IList IList . . H H ầ ầ u u h h ế ế t t c c á á c c đ đ ố ố i i tư tư ợ ợ ng ng t t ậ ậ p p h h ợ ợ p p c c ủ ủ a a .NET .NET đ đ ề ề u u c c à à i i đ đ ặ ặ t t giao giao ti ti ế ế p p n n à à y y . . – – B B à à i i t t ậ ậ p p : : vi vi ế ế t t h h ộ ộ p p tho tho ạ ạ i i ch ch ọ ọ n n tên tên , , nơi nơi ở ở ( ( th th à à nh nh ph ph ố ố , , qu qu ậ ậ n n huy huy ệ ệ n n ) ) c c ủ ủ a a m m ộ ộ t t ngư ngư ờ ờ i i . . Windows Application Windows Application - - Editor Editor : : Đo Đo à à n n Quang Minh Quang Minh 8 8 Custom Controls Custom Controls Custom Controls Custom Controls – – R R ấ ấ t t quan quan tr tr ọ ọ ng ng , , cho cho ph ph é é p p l l ậ ậ p p tr tr ì ì nh nh viên viên m m ở ở r r ộ ộ ng ng c c á á c c đ đ ố ố i i tư tư ợ ợ ng ng đi đi ề ề u u khi khi ể ể n n . . – – Trong Trong .NET, custom control .NET, custom control đư đư ợ ợ c c k k ế ế th th ừ ừ a a t t ừ ừ l l ớ ớ p p UserControl UserControl . . T T ạ ạ o o custome custome control control đơn đơn gi gi ả ả n n – – G G ồ ồ m m m m ộ ộ t t t t ậ ậ p p c c á á c c control control c c ó ó s s ẵ ẵ n n c c ủ ủ a a windows windows Thi Thi ế ế t t k k ế ế như như m m ộ ộ t t windows form windows form M M ở ở r r ộ ộ ng ng thêm thêm c c á á c c phương phương th th ứ ứ c c v v à à thu thu ộ ộ c c t t í í nh nh T T ạ ạ o o custome custome control control m m ở ở r r ộ ộ ng ng – – Nh Nh ằ ằ m m m m ụ ụ c c đ đ í í ch ch m m ở ở r r ộ ộ ng ng t t í í nh nh năng năng control control s s ẵ ẵ n n c c ó ó K K ế ế th th ừ ừ a a t t ừ ừ control control c c ầ ầ n n m m ở ở r r ộ ộ ng ng Thêm Thêm c c á á c c phương phương th th ứ ứ c c v v à à thu thu ộ ộ c c t t í í nh nh c c ầ ầ n n thi thi ế ế t t C C ó ó th th ể ể thêm thêm s s ự ự ki ki ệ ệ n n Windows Application Windows Application - - Editor Editor : : Đo Đo à à n n Quang Minh Quang Minh 9 9 T T à à i li i li ệ ệ u tham kh u tham kh ả ả o o Professional C#, Second Edition Professional C#, Second Edition http://www.asp.net http://www.asp.net http://www.microsoft.com/net/default.mspx http://www.microsoft.com/net/default.mspx http://www.codeproject.com http://www.codeproject.com Đ Đ ị ị a ch a ch ỉ ỉ download t download t à à i li i li ệ ệ u u http://www.thanglong.edu.vn/giang http://www.thanglong.edu.vn/giang - - day/tab.aspx day/tab.aspx Di Di ễ ễ n đ n đ à à n C# & .NET n C# & .NET http://www.thanglong.edu.vn/forum/cmd/0/categ http://www.thanglong.edu.vn/forum/cmd/0/categ ory/hoc ory/hoc - - tap tap - - nghien nghien - - cuu/dot cuu/dot - - net/tab.aspx net/tab.aspx . - - Editor Editor : : Đo Đo à à n n Quang Minh Quang Minh 1 1 C# and .NET Framework C# and .NET Framework B B à à i 5: i 5: Windows Application Windows Application Đo Đo à à n Quang Minh n. kh ả ả o o Professional C#, Second Edition Professional C#, Second Edition http://www.asp .net http://www.asp .net http://www.microsoft.com /net/ default.mspx http://www.microsoft.com /net/ default.mspx http://www.codeproject.com http://www.codeproject.com Đ Đ ị ị a. http://www.thanglong.edu.vn/giang http://www.thanglong.edu.vn/giang - - day/tab.aspx day/tab.aspx Di Di ễ ễ n đ n đ à à n C# & .NET n C# & .NET http://www.thanglong.edu.vn/forum/cmd/0/categ http://www.thanglong.edu.vn/forum/cmd/0/categ ory/hoc ory/hoc - - tap tap - - nghien nghien - - cuu/dot cuu/dot - - net/ tab.aspx net/ tab.aspx