(NB) Giáo trình Lập trình C#2 cung cấp cho người học các kiến thức và kỹ năng chính sau: Tạo các ứng dụng trên nền Windows; Tạo được các ứng dụng cơ sở dữ liệu trên nền Windows; Lập trình và sử dụng được các đối tượng của .NET; Tạo được ứng dụng cơ sở dữ liệu với các báo cáo bằng CrystalReport; Tạo ra các ứng dụng MDI.
Trang 1B NÔNG NGHI P VÀ PHÁT TRI N NÔNG THÔNGỘ Ệ Ể
TRƯỜNG CAO Đ NG C GI I NINH BÌNHẲ Ơ Ớ
Trang 2Ninh Bình, năm 2018
Trang 3TUYÊN B B N QUY NỐ Ả Ề
Tài li u này thu c lo i sách giáo trình nên các ngu n thông tin có thệ ộ ạ ồ ể
được phép dùng nguyên b n ho c trích dùng cho các m c đích v đào t o vàả ặ ụ ề ạ tham kh o.ả
M i m c đích khác mang tính l ch l c ho c s d ng v i m c đích kinhọ ụ ệ ạ ặ ử ụ ớ ụ doanh thi u lành m nh s b nghiêm c m.ế ạ ẽ ị ấ
Trang 4L I GI I THI U Ờ Ớ Ệ
Đây là tài li u đệ ược biên so n theo chạ ương trình khung trình đ đào t o Caoộ ạ
đ ng ngh L p trình máy tính. Đ h c t t môn h c này, ngẳ ề ậ ể ọ ố ọ ườ ọi h c c n ph iầ ả
có ki n th c v l p trình trên Windows c b n, c th là ngôn ng C#.NET.ế ứ ề ậ ơ ả ụ ể ữ
L p trình Windows 2 là m t mô đun l p trình nâng cao nh m giúp ngậ ộ ậ ằ ườ ọ i h c
có ki n th c và k năng đ xây d ng m t ng d ng chuyên nghi p v i c sế ứ ỹ ể ự ộ ứ ụ ệ ớ ơ ở
d li u. V i ph m vi c a tài li u này, chúng tôi cung c p cho ngữ ệ ớ ạ ủ ệ ấ ườ ọi h c các
ki n th c và k năng chính sau:ế ứ ỹ
T o các ng d ng trên n n Windows.ạ ứ ụ ề
T o đạ ược các ng d ng c s d li u trên n n Windows.ứ ụ ơ ở ữ ệ ề
L p trình và s d ng đậ ử ụ ược các đ i tố ượng c a .NET.ủ
T o đạ ượ ức ng d ng c s d li u v i các báo cáo b ng CrystalReport.ụ ơ ở ữ ệ ớ ằ
T o ra các ng d ng MDI. ạ ứ ụ
Trong quá trình biên so n, chúng tôi có tham kh o nhi u ngu n tài li u trênạ ả ề ồ ệ Internet. M c dù r t c g ng nh ng ch c ch n không tránh kh i nh ngặ ấ ố ắ ư ắ ắ ỏ ữ thi u sót, tác gi r t mong nh n đế ả ấ ậ ược nh ng ý ki n đóng góp đ tài li uữ ế ể ệ ngày càng hoàn thi n h n đ cung c p cho ngệ ơ ể ấ ườ ọi h c nh ng ki n th c vàữ ế ứ
k năng thi t th c. Tài li u này đỹ ế ự ệ ược thi t k theo t ng mô đun/ môn h cế ế ừ ọ thu c h th ng mô đun/ môn h c c a m t chộ ệ ố ọ ủ ộ ương trình đ đào t o hoànể ạ
ch nh ngh L p trình máy tính trình đ Cao đ ng. Tài li u dùng làm giáoỉ ề ậ ở ộ ẳ ệ trình h c t p cho sinh viên trong các khóa đào t o và cũng có th đọ ậ ạ ể ượ ử c s
d ng cho đào t o ng n h n ho c công nhân k thu t đ ng th i có th làmụ ạ ắ ạ ặ ỹ ậ ồ ờ ể tài li u tham kh o cho các l p trình viên.ệ ả ậ
Trang 5l p đ i tớ ố ượng ngo i l ạ ệ
9
2. Nh ng đ i tữ ố ượng ngo i lạ ệ
13 Bài 2: L p trình Visual Studio.Netậ
35
42 Khái ni m v các lo i t p tinệ ề ạ ậ
51
6. 3. T o h p tho i m t p inạ ộ ạ ở ậ
55 Bài t pậ
59
Trang 61. T o ph n m n Notepadạ ầ ề
59
59 Bài 7: S d ng các đ i tử ụ ố ượng
78
5. S d ng TreeViewử ụ
85 Bài t pậ
100 Bài t pậ
103
1. T o project quanlydiem và t o Form frmMain là Form cha ch a các form ạ ạ ứcon
103
tblKhoa(Makhoa, Tenkhoa)
118 tblMonHoc(Mamon, Tenmon, Makhoa, Sohocphan, Giaovien)
118 tblDiem(Mamon, MaSV, Diem)
118 Bài 10: L p báo cáo v i CrystalReportậ ớ
131 Manv
132 Maloai
132 Masach
132 Manv
133 Madg
133
Trang 7+ Trình bày được khái quát các thành ph n c a Visual Studio.NET;ầ ủ
+ Mô t đả ược các bướ ạc t o th c đ n chính và th c đ n ng c nh;ự ơ ự ơ ữ ả
+ Trình bày được ch c năng, các thu c tính và trình t s d ng c a cácứ ộ ự ử ụ ủ
đ i tố ượng đ t o Form;ể ạ
+ Trình bày được các bước k t n i, truy c p và x lý d li u;ế ố ậ ử ữ ệ
+ Mô t đả ược các bướ ậc l p báo cáo;
K năngỹ
+ T o các ng d ng trên n n Windows.ạ ứ ụ ề
+ T o đạ ược các ng d ng MDI.ứ ụ
+ L p trình và s d ng đậ ử ụ ược các đ i tố ượng c a .NET.ủ
+ T o đạ ượ ức ng d ng c s d li u v i các ch c năng thêm, s a, xóa,ụ ơ ở ữ ệ ớ ứ ử thông kê, tim ki m thông tin.ế
Ki mể tra
2 Bài 2: L p trình v i Visual Studio .NETậ ớ 5 3 2
4 Bài 4: T o thanh tr ng tháiạ ạ 7 2 5
5 Bài 5: T o các h p tho iạ ộ ạ 10 2 8
6 Bài 6: T o các h p tho i t p tinạ ộ ạ ậ 15 4 9 1
7 Bài 7: S d ng các đ i tử ụ ố ượng 30 9 20 1
9 Bài 9: Truy c p và x lý c s d li u ậ ử ơ ở ữ ệ 60 12 58 2
Trang 810 Bài 10: L p báo cáo v i CrystalReportậ ớ 15 3 10 1
Trang 9Bài 1: X a lý ngo i l ử ạ ệ
Mã bài: MĐ16_B01
Gi i thi u: ớ ệ
Bài h c này bao g m hai n i dung: Phát sinh và b t gi ngo i l và nh ng ọ ồ ộ ắ ữ ạ ệ ữ
l p đ i tớ ố ượng ngo i l ạ ệ
M c tiêu: ụ
Trình bày được các l i phát sinh ngo i l và t m nh hỗ ạ ệ ầ ả ưởng c a nó đ nủ ế
chương trình
S d ng đử ụ ược các l p đ i tớ ố ượng ngo i l ạ ệ
Xây đ ng đự ược ph n x lý ngo i l trong chầ ử ạ ệ ương trình
Th c hi n đự ệ ược các bi n pháp an toàn cho máy tínhệ
1. Phát sinh và b t gi ngo i lắ ữ ạ ệ
M t Exception (ngo i l ) là m t v n đ xu t hi n trong khi th c thi m tộ ạ ệ ộ ấ ề ấ ệ ự ộ
chương trình. M t Exception trong C# là m t ph n h i v m t tình hu ngộ ộ ả ồ ề ộ ố ngo i l mà xu t hi n trong khi m t chạ ệ ấ ệ ộ ương trình đang ch y, ví d nh chiaạ ụ ư cho s 0.ố
Exception cung c p m t cách đ truy n đi u khi n t m t ph n c aấ ộ ể ề ề ể ừ ộ ầ ủ
m t chộ ương trình t i ph n khác. Exception Handling (X lý ngo i l ) trongớ ầ ử ạ ệ C# được xây d ng d a trên 4 t khóa là:ự ự ừ try, catch, finally, và throw
try: M t try xác đ nh m t kh i mã mà tr ng h p ngo i l đ c bi tộ ị ộ ố ườ ợ ạ ệ ặ ệ
được kích ho t. Nó đạ ược theo sau b i m t ho c nhi u h n các kh iở ộ ặ ề ơ ố catch
catch: M t ch ng trình b t m t ngo i l v i m t ngo i l đ c x lýộ ươ ắ ộ ạ ệ ớ ộ ạ ệ ượ ử
t i ch T khóa catch ch b t m t ngo i l ạ ỗ ừ ỉ ắ ộ ạ ệ
finally: Khóa finally đ c s d ng đ th c hi n m t t p h p các báoượ ử ụ ể ự ệ ộ ậ ợ cáo, cho dù m t ngo i l độ ạ ệ ược ném ho c không ném. Ví d , n u b nặ ụ ế ạ
m m t t p tin, nó ph i đở ộ ậ ả ược đongs cho dù m t ngo i l x y ra hayộ ạ ệ ả không
throw: M t ch ng trình ném m t ngo i l khi m t v n đ xu t hi n.ộ ươ ộ ạ ệ ộ ấ ề ấ ệ
Đi u này đề ược th c hi n b ng cách s d ng t khóa throw.ự ệ ằ ử ụ ừ
1.1. Câu l nh catchệ
Dùng Trycatch đ x lý ngo i lể ử ạ ệ
Đ t code có kh năng d n đ n ngo i l vào kh i “try”ặ ả ẫ ế ạ ệ ố
Trang 10}catch (SomeException e ){
// Handle code}
Đ t m t hay nhi u ngay sau kh i tryặ ộ ề ố
Không có l nh nào chen gi a hai kh i catch c a m t tryệ ữ ố ủ ộ
Tham s exception ố
được catch
Đo n x lý v i ạ ử ớtình hu ng có l iố ỗ
Trang 11}catch (Exception-class [var2]){
// xử lý ngoại lệ 2}
Ví d :ụ
1.2. Câu l nh Finallyệ
Khi m t exception độ ược ném ra
Lu ng th c thi s nh y vào kh i catch x lý nó.ồ ự ẽ ả ố ử
M t s đo n code gi i phóng tài nguyên có th b b quaộ ố ạ ả ể ị ỏOpen File
Read Data // ngo i l đạ ệ ược phát sinhClose File // đo n code này b b qua, dù file ch a đóngạ ị ỏ ư
Kh i trycatch có ph n option là finallyố ầ
Luôn luôn được g iọ
S d ng đ d n d p các tài nguyên đang n m giử ụ ể ọ ẹ ắ ữ
Trang 121.3. Câu l nh throwệ
Phát sinh m t ngo i l : s d ng t khóa throwộ ạ ệ ử ụ ừ
throw new System.Exception();
Ho t đ ng: Khi phát sinh ngo i l thì ngay t c kh c s làm ạ ộ ạ ệ ứ ắ ẽ
ng ng vi c th c thi trong khi CLR s tìmki m m t trình x lý ừ ệ ự ẽ ế ộ ửngo i l N u m t trình x lý ngo i l không đạ ệ ế ộ ử ạ ệ ược tìm th y ấtrongphương th c hi n th i, thì CLR ti p t c tìm trong phứ ệ ờ ế ụ ương th c g i ứ ọcho đ n khi nào tìm th y.N u CLR tr v l p Main() mà không tìm ế ấ ế ả ề ớ
th y b t c trình x lý ngo i l nào, thì nó s k t thúc chấ ấ ứ ử ạ ệ ẽ ế ương trình
Ví d :ụ
Trang 132. Nh ng đ i tữ ố ượng ngo i lạ ệ
L p Exceptionớ
Có 2 lo i ngo i lạ ạ ệ
Ngo i l phát sinh b i chạ ệ ở ương trình
Ngo i l đạ ệ ượ ạc t o b i CLRở
L p System.Exception là c s cho t t c l p trong C#ớ ơ ở ấ ả ớ
System.ArrayTypeMismatchException X lý các l i phát sinh khi lo i ch a phù ử ỗ ạ ư
h p v i các ki u m ng ợ ớ ể ả System.NullReferenceException X lý các l i phát sinh t m t đ i t ử ỗ ừ ộ ố ượ ng
null.
System.DivideByZeroException X lý các l i phát sinh t vi c chia cho s ử ỗ ừ ệ ố
không.
Trang 14System.InvalidCastException X lý các l i phát sinh trong quá trình phân ử ỗ
lo i ạ System.OutOfMemoryException X lý các l i đ ử ỗ ượ ạ c t o ra t b nh không ừ ộ ớ
đ ủ System.StackOverflowException X lý các l i phát sinh t tràn stack ử ỗ ừ
Bài t pậ
Trang 15Trình bày được khái quát các thành ph n c a Visual Studio.NET.ầ ủ
T o đạ ược Project, t o và s d ng đạ ử ụ ược form đ n gi nơ ả
Th c hi n đự ệ ược các bi n pháp an toàn cho máy tínhệ
1. L p trình v i Visual Studiou.Netậ ớ
Giao di n c a Visual Studio C# 2010 Expressệ ủ
+New Project: T o Project m iạ ớ
+ Open Project: M Project đã t o ở ạ
+ Recent Projects: Các Project m i t o g n đây nh tớ ạ ầ ấ
Form
+ Các thu c tính c a Form: Ch a trong c a s Propertiesộ ủ ứ ử ổ
Trang 16M t s thu c tính thộ ố ộ ường dùng
(name) Tên Form Nó như một biến vậy Quan trọng
AllowDrop Cho phép kéo thả
AutoSizeMode
+GrowOnly: cho phép thay đổi kích thước form+GrowAndShrink: không cho phép thay đôi kích thước form
BackColor Màu nền Form
ContexMenuStrip Menu xuất hiện khi chuột phải lên Form
Cursor Con trỏ chuột khi rê trên form
KeyPreview
Cho phép nhận phím hay không (cái này kết hợp với
sự kiện nhận phím)Opacity Độ trong suốt của form
ShowInTaskbar Hiện thị ở thanh taskbar khi chạy form (true/false)
StartPosition
Vị trí xuất hiện của form+CenterScreen: Giữa màn hình+CenterParent: Giữa Form gọi ra nó (form cha)TopMost Hiển thị đè lên các form khác
WindowState Trạng thái của form
Text Chữ hiển thị khi form chạy
Trang 17v i tên ớchính xác
Bước 2 Thêm Form m i vào Projectớ
Trang 18Bước 3 Tùy ch nh Formỉ
Trang 19+ Nh n OKấ
2. Thêm và đi u ch nh các đi u khi nề ỉ ề ể
* Các đi u khi nề ể
Toolbox bao g m các nhóm đi u khi nồ ề ể
All Windows Form: bao g m t t c các đi u khi n dùng đ t o windows ồ ấ ả ề ể ể ạform
Trang 20 Common Controls: Các đi u khi n thông thề ể ường
Container bao g m các đi u khi n có th ch a các đi u khi n khácồ ề ể ể ứ ề ể
Menu & Toolbars: Các đi u khi n dùng đ t o thanh th c đ n và thanh ề ể ể ạ ự ơ
tr ng thái.ạ
Trang 21 Datta: bao g m các đi u khi n làm vi c v i d li uồ ề ể ệ ớ ữ ệ
Components
Printing: Đi u khi n in nề ể ấ
Dialogs: Bao g m các đi u khi n t o các lo i h p tho iồ ề ể ạ ạ ộ ạ
Trang 22* S p x p các đi u khi nắ ế ề ể
S d ng thanh Layoutử ụ
+ Ch n các đi u khi nọ ề ể
+ Ch n ki u s p x p trên thanh Layoutọ ể ắ ế
S d ng thu c tính Dock c a đi u khi nử ụ ộ ủ ề ể
+ Ch n đ i tọ ố ượng
+ Ch n thu c tính Dock\ Ch n lo i đ nh v đi u khi nọ ộ ọ ạ ị ị ề ể
Top:Đi u khi n s chi m ph n phía trên c a Form ho c đi u khi n ch a nóề ể ẽ ế ầ ủ ặ ề ể ứ Left: Đi u khi n s chi m ch n ph n bên trái c a Form ho c c a đi u ề ể ẽ ế ọ ầ ủ ặ ủ ềkhi n ch a nó.ể ứ
Right: Đi u khi n s chi m ch n ph n bên ph i c a Form ho c c a đi u ề ể ẽ ế ọ ầ ả ủ ặ ủ ềkhi n ch a nóể ứ
Bottom: Đi u khi n s chi m ch n ph n bên dề ể ẽ ế ọ ầ ướ ủi c a Form ho c c a đi u ặ ủ ềkhi n ch a nóể ứ
Fill: Đi u khi n s chi m ch n ph n còn l i c a Form ho c c a đi u khi n ề ể ẽ ế ọ ầ ạ ủ ặ ủ ề ể
Fill
Trang 23Dock=Bottom
Trang 24thi t l p thu c tính Format=Shortế ậ ộ
Kéo và th Button 2 l n t o ả ầ ạ
đi u ềkhi nể
Thi t l p ế ậchính xác thu c ộtính
Trang 27Yêu c u khi nh n k t n i s hi n th thông tin nh p vào thành m t hàng dầ ấ ế ố ẽ ể ị ậ ộ ướ c
m c Passwordụ
Trang 28Trình bày đ ượ c các thu c tính c b n c a ContextmenuStrip, MenuStrip ộ ơ ả ủ
T o đ ạ ượ c 2 lo i th c đ n ạ ự ơ
Th c hi n đ ự ệ ượ c các bi n pháp an toàn cho máy tính ệ
Name: Tên menu được dùng trong mã l nhệ
Checked: Có/Không dòng menu xu t hi n checked. Ng m đ nh là Falseấ ệ ầ ị
SortCutKey: Đ t phím nóng cho menuặ
ShowShortcut: Có/ Không phím nóng hi n th trên dòng menu, ng m đ nh là ể ị ầ ịtrue
Text: Xu t hi n trên dòng menuấ ệ
* S ki n thự ệ ường dùng
Click: X y ra khi m t dòng c a menu đả ộ ủ ược click chu t ho c n phím nóng. ộ ặ ấ
Ng m đ nh khi nháy đúp chu t trong ch đ thi t kầ ị ộ ế ộ ế ế
* Vi t l nh cho dòng c a menu g i 1 Formế ệ ủ ọ
<Tên l p><tên form> = new <Tên l p()>;ớ ớ
<Tên form>.Show() ho c <Tên form>.ShowDialog();ặ
Trình t th c hi nự ự ệ
Trang 29Trong c a s Solution Explorerử ổ
Chu t ph i vào tên Project>ộ ả
Ch n Add > Windows Formọ
Gõ tên Form:
frmMenu.cs
T o ạform
v i ớtên form chính xác
di n ệchính xác
Trang 30di n ệchính xácBướ
đ i ố
tượng, Thi t ế
l p ậđúng thu c ộtínhBướ
Trang 31* Ch c năng: Menu ng c nh hi n th khi click chu t ph i trên đ i tứ ữ ả ể ị ộ ả ố ượng c a ủForm ho c trên formặ
* Đ t o ra menu ng c nh chúng ta s d ng công c ContextMenuStrip trongể ạ ữ ả ử ụ ụ nhóm Menus & Toolbars trong Toolbox
* Hi n th menu ng c nhể ị ữ ả
Ch n đ i tọ ố ượng ho c Formặ
Đ t thu c tính ContextMenuStrip cu đ i tặ ộ ả ố ượng được ch n là tên c a menu ọ ủ
ng c nh.ữ ả
b. Trình t th c hi n (ự ự ệ TrênForm c a ph n t o th c đ n chính ủ ầ ạ ự ơ )
Bài t pậ
Trang 321. T o Project Menu ch a form sau ạ ư
2. T o Project menu2 ch a Form có menu ạ ứ
3. T o menu ng c nh ạ ữ ả
Trang 33Bài 4: T o thanh tr ng thái ạ ạ
Mã bài: MĐ16_B04
Gi i thi u: ớ ệ
Trong bàu h c này s gi i thi u v thanh tr ng thái và cách ta ra nó.ọ ẽ ớ ệ ề ạ
M c tiêu : ụ
Hi u rõ m c đích s d ng thanh tr ng thái;ể ụ ử ụ ạ
S d ng đử ụ ược thanh tr ng thái trong chạ ương trình;
Th c hi n đự ệ ược các bi n pháp an toàn cho máy tính.ệ
1. T o thanh tr ng tháiạ ạ
Thanh công tr ng thái là thanh n m ngang, bên dạ ằ ưới đáy c a s , g m nhi u ử ổ ồ ề
ph n t nh m th hi n thông tin v các tr ng thái ho t đ ng c a ng d ng. ầ ử ằ ể ệ ề ạ ạ ộ ủ ứ ụ
M i ph n t có th là m t văn b n, m t bi u tỗ ầ ử ể ộ ả ộ ể ượng hay m t thanh ti n trình.ộ ế
Đ i tố ượng Status Bar
Bao g m các lo iồ ạ
Trang 34 Nh p chu t kéo và th đ i tấ ộ ả ố ượng Status vào form
Ch n lo i tr ng tháiọ ạ ạ
Thay đ i thu c tính cho lo i tr ng tháiổ ộ ạ ạ
Trang 35Bài t pậ
T o form ạ
Trang 36Bài 5: T o h p tho i ạ ộ ạ
S d ng đử ụ ược phương th c Form.Close;ứ
Th c hi n đự ệ ược các bi n pháp an toàn cho máy tínhệ
1. T o h p tho i thông đi pạ ộ ạ ệ
* Các d ng h p ho i thông đi pạ ộ ạ ệ
* Cú pháp:
MessageBox.Show(string text, string caption, MessageBoxButtons button,
MessageBoxIcon icon, MessageBoxDefaultButton defaultbutton);
text: chu i hi n th n i dung thông báoỗ ể ị ộ
caption: Tiêu đ h p tho iề ộ ạ
MessageBoxButtons: nút c a h p tho i bao g m các giá trủ ộ ạ ồ ị
+ OK: h p tho i ch có nút OKộ ạ ỉ
+ OKCancel: H p tho i g m 2 nút OK và Cancelộ ạ ồ
+ YesNo: H p tho i g m 2 nút Yes và Noộ ạ ồ
+ YesNoCancel: h p tho i g m 3 nút Yes, No và Cancelộ ạ ồ
MessageBoxIcon: Bi u tể ượng c a h p tho iủ ộ ạ
+ Error
Trang 37+ C n s xác nh n c a ngầ ự ậ ủ ườ ử ụi s d ng đ i v i m t l nh quan tr ng nh :ố ớ ộ ệ ọ ư
Xóa m t d ki n quan tr ngộ ữ ệ ọ
Thoát nh ng ch a l u trư ư ư ữ
T t m t lúc nhi u ng d ngắ ộ ề ứ ụ
Và các trường h p c n đợ ầ ược xác nh nậ
+ Thông báo nh ng th quan trong trong chữ ứ ương trình
* DialogResult có k t qu tr v t MessageBox.Show bao g m các giá tr có ế ả ả ề ừ ồ ị
Trang 38b. Trình t th c hi nự ự ệ
Vi t code cho s ki n đóng Form. N u ch n nút Thoát s xu t hi n h p tho iế ự ệ ế ọ ẽ ấ ệ ộ ạ
h i ngỏ ười dùng có mu n đóng Form không? N u ch n Yes thì đóng Form, n uố ế ọ ế
ch n No thì không đóng.ọ
T o nút Thoátạ
Vi t s ki n Click cho nút Thoátế ự ệ
privatevoid btThoat1_Click(object sender, EventArgs
e)
{
if (MessageBox.Show("Bạn có mu n đóng Form không?"ố ,
"Thông báo", MessageBoxButtons.YesNo,
S ki n FormClosing: x y ra khi Form đang đóngự ệ ả
Khi g i s ki n này s có tham s :ọ ự ệ ẽ ố FormClosingEventArgs e
Ta s d ng nó đ x lý vi c ti p t c đóng form hay không?ử ụ ể ử ệ ế ụ
e. Cancel=false thì ti p t c đóng formế ụ
e.Cancel= true thì ng ng đóng formừ
Trình t th c hi n ự ự ệ
Bước 1: Ch n Form\ Ch n Properties\Ch n Eventọ ọ ọ
Bước 2: Nh n đúp chu t vào FormClosingấ ộ
Bước 3: Vi t codeế
Trang 39privatevoid Form1_FormClosing(object sender,
FormClosingEventArgs e)
{
if (MessageBox.Show("Bạn có muốn đóng Form không?",
"Thông báo", MessageBoxButtons.YesNo,
3. T o h p tho i Modalạ ộ ạ
Modal dialog : H p tho i tr ng thái là lo i h p tho i ch tr giá tr (ộ ạ ạ ạ ộ ạ ỉ ả ị quy n ề
đi u khi n ề ể ) v cho chề ương trình khi đóng h ptho i, có nghĩa là khi h p tho iộ ạ ộ ạ
hi n th b n không th chuy n đi u khi n đ n các c a s con khác trongể ị ạ ể ể ề ể ế ử ổ cùng ng d ng cho đ n khi đóng h p tho i, ho c b n không th th c thi cácứ ụ ế ộ ạ ặ ạ ể ự
l nh bên dệ ướ ệi l nh g i h p tho i cho t i khi đóng h p tho i.ọ ộ ạ ớ ộ ạ
Khi đóng h p tho i modal, có giá tr tr v , chộ ạ ị ả ề ương trình m i ti p t c th cớ ế ụ ự
hi n các câu l nh bên dệ ệ ưới dòng l nh g i h p tho i modal.ệ ọ ộ ạ
T o h p tho i Modal b ng cách g i phạ ộ ạ ằ ọ ương th c ứ ShowDialog c a Formủ
Trình t th c hi nự ự ệ
Bước 1. T o Form chính: frmMainạ
Bước 2: T o Form ph : frmSecondạ ụ
Bước 3. G i Form ph trên form chínhọ ụ
frmSecond frm=new frmSecond(();
frm.ShowDialog();
Bước 4: Ch y form chính.ạ
Trang 404. T o h p tho i Modalessạ ộ ạ
Modaless dialog : H p tho i không tr ng thái là h p tho i tr giá tr (quy nộ ạ ạ ộ ạ ả ị ề
đi u khi n) v cho chề ể ề ương trình ngay l p t c nên có th chuy n đi u khi nậ ứ ể ể ề ể
đ n các c a s khác trong cùng ng d ng, ho c th c thi các l nh bên dế ử ổ ứ ụ ặ ự ệ ướ ờ i l i
g i h p tho i.ọ ộ ạ
T o h p tho i Modaless b ng cách g i phạ ộ ạ ằ ọ ương th c ứ Show c a Formủ
Trình t th c hi nự ự ệ
Bước 1. T o Form chính: frmMainạ
Bước 2: T o Form ph : frmSecondạ ụ
Bước 3. G i Form ph trên form chínhọ ụ