1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Giáo trình lập trình net ts trần anh tuấn, ths mai yến trinh, ths phan hồ duy phương

203 2 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

BQ GIAO DyC VA DAO TAO TRUING DAI HOC CtHJ LONG GI AO TR1NH LRP TRIOH RET (Dung cho sinh vien ngdnh cong nghe thong tin) NHA XUAT BAN QUAN DOI NHAN DAN HaNoi-2020 t ❖ Dong tdc gid: TS Tran Anh Tu&n ThS Mai Yen Trinh ThS Phan He* Duy Phirong (• ? f MUC LUC ♦ • CHUONG Gldl THIEU CONG NGHE NET 1.1 Gioi thieu NET Framework 1.2 Cac phan cua NET Framework 1.2.1 Common language runtime (CLR) 1.2.2 Framework Class Library (FCL) 1.3 Cof che bien dich cua NET Framework 1.4 Mpt so dac diem cua NET Framework i r 1.5 Mot so loai ung dung dua tren NET Framework 1.5.1 Windows Forms 1.5.2 Windows Presentation Foundation (WPF) 1.5.3 Langauge Integrate Query (LINQ) 1.5.4 Windows Communication Foundation (WCF) 1.5.5 XNA ' 1.5.6 ASP.NET : 1.6 Cac nen tang khac dua tren NET Framework 1.7 Microsoft Visual Studio NET 19 19 20 21 21 22 23 24 24 24 24 25 25 25 25 26 1.7.1 Visual Studio NET 1.7.2 Mot so dac trung ciia Visual Studio NET 1.8 Cauhdi cung co TAl LIEU THAM KHAO CHUONG TONG QUAN VE C# 2.1 Gidi thieu C# 2.1.1 Tong quan ve C# 2.1.2 Chuang trinh “Hello World” 2.2 Bien va HSng 2.2.1 Bidn 2.2.2 HSng s6 2.3 Cac kieu du lieu 2.3.1 Cac kieu dir lieu gia tri (Value Types) 2.3.2 Cac kieu du lieu tham chieu (Reference Type) 2.3.3 Chuyen kieu (ep kieu) 2.4 Cac toan tu 2.4.1 Toan tu gan 2.4.2 Toan tu toan hqc 2.4.3 Toan tu quan he 2.4.4 Toan tu luan ly 2.4.5 Toan tu dieu kien 2.5 Di6u khidn chuang trinh 2.5.1 Cau lenh 2.5.2 Cau lenh dieu kien 26 27 30 30 31 31 31 32 33 33 34 35 37 38 38 41 41 42 42 43 43 44 44 44 46 49 2.5.3 Cau lenh lap 2.5.4 Cau lenh jump 51 2.6 Ham 2.6.1 Khai bao ham 51 2.6.2 Cach truySn tham sd cho ham 52 54 2.7 Mang (Array) 2.7.1 Mang mot chieu 54 2.7.2 Cau true lap foreach 57 2.7.3 Mang hai chieu 57 2.8 Enum 59 2.9 Xu ly ngoai le (Exception Handling) 61 2.10 Bai tap 65 TAI LIEU THAM KHAO CHLTONG TONG QUAN VE HUONG DOI WONG 68 69 3.1 Lop va ddi tuong 69 3.1.1 Doi tuong ■ 69 70 3.1.2 Lop (Class) 3.2 Phuong thuc tao va Phuong thuc huy 72 3.2.1 Phuong thuc tao (Constructor) 72 3.2.2 Phuong thuc huy (Destructor) 73 3.3 Thuoc tinh, Phuong thuc 74 3.3.1 Thuoc tinh (Attribute) 74 3.3.2 Phuong thuc (Method) 3.4 Dong goi ; 75 76 3.5 Phuong thuc truy van va phuong thuc cap nhat 3.6 Ke thua (Inheritance) 3.7 Da hinh 3.8 Interface 3.9 Namespace 3.10 Bai tap TAI LIEU THAM KHAO CHUONG CHUOIKY TU* VA TAP TIN TRONG C# 4.1 Chudi ky tu (String) 4.1.1 Chudi ky tu 4.1.2 Dinh dang String.; - 4.1.3 StringBuilder (doc them) 4.2 Nhap/xuat tap tin (File VO) 4.2.1 Khai niem VO : 4.2.2 Ludng du lieu (Stream) 4.2.3 Cac lop FileStream, StreamReader StreamWriter 4.3 Bai tap cung cd TAI LIEU THAM KHAO CHUONG LAP TRINH WINDOWS FORMS 5.1 Windows Forms 5.1.1 Giao dien hoa 5.1.2 Cac img dung tren Windows Forms 5.2 Thanh phan giao dien co ban 5.2.1 Label, TextBox, Button 77 80 84 87 89 92 93 94 94 94 96 98 100 100 100 102 105 106 108 108 108 110 110 111 5.2.2 MaskedTextBox 114 5.2.3 CheckBox^ RadioButton 117 5.2.4 ComboBox 119 5.2.5 ListBox 124 5.2.6 CheckedListBox 126 5.2.7 PictureBox 129 5.2.8 DateTimePicker 131 5.3 Thanh ph4n giao dien nang cao 133 5.3.1 ListView 133 5.3.2 TreeView 136 5.3.3 Panel 140 5.3.4 Container 140 5.3.5 TabControl 142 5.3.6 Menu 144 149 152 5.3.7 Toolbar 5.4 Bai tap cung co TAI LIEU THAM KHAO 157 CHUONG LAP TRINH CO SO DU' LIEU TRONG C# 158 6.1 Gioi thieu LINQ 158 6.1.1 Kien true va cac phan LINQ 6.1.2 Truy van LINQ 6.2 Gioi thieu LINQ to SQL 6.2.1 Mo hinh hoa co so du lieu 6.2.2 Tao mo hinh du lieu LINQ to SQL 159 160 172 173 175 6.2.3 Lap DataContext 178 6.2.4 Truy van du lieu vdi LINQ to SQL 179 6.3 Xay dung ung dung minh hoa 183 6.3.1 Thiet ke co so du lieu 183 6.3.2 Thi£t k£ giao dien - 186 6.3.3 Yeu cau cai dat .190 6.4 Bai tap cung co 200 TAI LIEU TEAM KHAO 203 10 i DANH MUC CAC HINH Hinh 1-1: Thanh phAn ciia Net Framework 20 Hinh 1-2: Co chA bien dich cua NET Framework 23 Hinh 1-3: Cac Framework hien tai 26 Hinh 2-1: Ket qua chuong trinh Hello World 32 Hinh 2-2: Ket qua chuorng trinh xu ly ngoai le 64 Hinh 3-1: K6t qua chuong trinh vi du namespace 92 Hinh 5-1: Vi du dieu khien Label, TextBox va Button 114 Hinh 5-2: Vi du dieu khien MaskedTextBox 116 Hinh 5-3: Vi du dieu khien CheckBox va RadioButton 118 121 Hinh 5-5: Vi du tao danh sach mon an bAng ComboBox, 122 Hinh 5-4: Vi du dieu khien ComboBox Hinh 5-6: Vi du dieu khien ListBox 125 i Hinh 5-7: Vi du dieu khien CheckedListBox 128 Hinh 5-8: Vi du dieu khiSn PictureBox 130 Hinh 5-9: Vi du dieu khien DateTimePicker 132 11 6.3.3 Yeu cau cai flat a Quan ly thong tin Sinh vien ? - Khi form Quan ly sinh vien hien thi thuc hien hien thi danh sach ten lop len ListBox danh sach lop private void frmQuanLySinhVien_Load(object sender, EventArgs e) { HienThiLopLenListBox(); } Ham hien thi danh sach Ten lop len ListBox danh sach lop (IstDSLop) bool kiemtraListBox = false; // Bi6n ki&n tra du lieu tai len ListBox private void HienThiLopLenListBox() { SinhVienDataContext db = new SinhVienDataContextQ; IstDSLop.DataSource = db.Lops.ToList(); IstDSLop.ValueMember = "MaLop"; IstDSLop.DisplayMember = "TenLop"; kiemtraListBox - true; - Khi chon doi tuong lop tren ListBox danh sach lop thi hien thi danh sach sinh vien cua lop dupe chon len ListView danh sach sinh vien (IvDSSinhVien) 190 public static string malopDuocChon = private void lstDSLop_SelectedIndexChanged(object sender, EventArgs e) { if (kiemtraListBox — false) // neu chira tai xong du lieu len listbox return; if (IstDSLop.SelectedValue = null) // neu chua chon doi tuong lop return; // Lay ma lop duoc chon malopDuocChon = IstDSLop.SelectedValue.ToStringO; List dsSinhVien = LayDSSinhVienTheoLop(malopDuocChon); HienThiSinhVienLenListView(dsSinhVien); } // Ham Uy danh sach sinh vien theo lop duoc chon List LayDSSinhVienTheoLop(string malop) { SinhVienDataContext db = new SinhVienDataContext(); var query = from sv in db.SinhViens where sv.MaLop = nialop select sv; List dsSinhVien = query.ToList(); return dsSinhVien; } ■ // Ham hwn thi danh sach sinh vien cua lop duoc chon len 191 ListView private void HienThiSinhVienLenListView(List ds SinhVien) { 1vD S SinhV ien Items Clear(); foreach (SinhVien sv in dsSinhVien) { ListViewItem Ivi = new ListViewItem(sv.MaSV); Ivi.Subltems.Add(sv.HoTen); lvi.SubItems.Add(sv.NgaySinh); lvi.SubItems.Add(sv.GioiTinh); Ivi.Subltems.Add(sv.DiaChi); Ivi.Subltems.Add(sv.DienThoai); IvDSSinhVien.Items.Add(lvi); } } - Khi chon doi tugng sinh vien tren ListView danh sach sinh vien thi thuc hien hien thi thong tin sinh vien dugc chon len GroupBox thong tin sinh vien private void lvDSSinhVien_SelectedIndexChanged(object sender, EventArgs e) { if (IvDSSinhVien.Selectedltems.Count == 0) // Neu khong co item nao dugc chon return; ListViewItem Ivi = lvDSSinhVien.SelectedItems[O]; // Lay ma sinh vien dugc chgn string masv = lvi.SubItems[O].Text; 192 SinhVienDataContext db = new SinhVienDataContext(); SinhVien sv = (from x in db.SinhViens where x.MaSV == masv select x).FirstOrDefault(); txtMaSV.Text = sv.MaSV; txtHoTen.Text = sv.HoTen; ■ if (sv.GioiTinh.Equals("Nam")) radNam.Checked = true; else radNu Checked = true; dtpNgaySinh.Text = sv.NgaySinh; txtDiaChi.Text = sv.DiaChi; txtDienThoai.Text = sv.DienThoai; } - Khi nhAn nut Liru (btnLuu), n£u ma sinh yien chua t6n tai thi thuc hien them mai sinh vien ngugc lai thi sura thong tin sinh vien ■ ' 'lf private void btnLuu_Click(object sender, EventArgs e) f SinhVienDataContext db = new SinhVienDataContext(); string masv = txtMaSV.Text; SinhVien sv = (from x in db.SinhViens where x.MaSV = masv select x).FirstOrDefault(); if(sv == null) { _ 193 J » ' // Them moi sinh vien vi ma sv chua ton tai sv = new SinhVienQ; db.SinhViens.InsertOnSubmit(sv); } // Them hoac sua thong tin sinh vien sv.MaSV = txtMaSV.Text; sv.HoTen = txtHoTen.Text; sv.NgaySinh = dtpNgaySinh.Text; if (radNam Checked) sv.GioiTinh = radNam.Text; else sv.GioiTinh = radNu.Text; sv.DiaChi = txtDiaChi.Text; sv.DienThoai = txtDienThoai.Text; sv.MaLop = IstDSLop.SelectedValue.ToStringO; db.SubmitChanges(); List dsSinhVien = LayDSSinhVienTheoLop(sv.MaLop); HienThiSinhVienLenListView(dsSinhVien); - Khi nhan nut Xoa (btnXoa) thnc hien xoa sinh vien duac chon private void btnXoa_Click(object sender, EventArgs e) { SinhVienDataContext db = new SinhVienDataContextQ; string masv = txtMaSV.Text; SinhVien sv = (from x in db.SinhViens 194 where x.MaSV = masv select x).FirstOrDefault(); if (sv != null) { try { db SinhV iens.DeleteOnSubmit(sv); db.SubmitChanges(); List dsSinhVien = LayDSSinhVienTheoLop(sv.MaLop); HienThiSinhVienLenListView(dsSinhVien); ) i ' t } catch (Exception ex) { MessageBox.Show(ex.Message); } } } - Khi nhdn nut Thoat (btnThoat) thuc hien hien thi hop thoai thong bao (Yes/No), ndu ngiroi dung chon Yes thi dong form private void btnThoat_Click(object sender, EventArgs e) { if (MessageBox.Show("Ban co mudn thoat?", "Thong bao", MessageBoxButtons.OKCancel, MessageBoxIcon Question) = DialogResult.OK) CloseQ; } 195 - Khi click chudt phai vao ListBox danh sach lop thuc hien hien thi menu, neu chon Xoa Lop thi thuc hien xoa lop dugc chon tren ListBox danh sach lop private void mnuXoaLop Click(object sender, EventArgs e) { string malop = IstDSLop.SelectedValue.ToStringO; SinhVienDataContext db = new SinhVienDataContext(); Lop lop = (from in db.Lops where l.MaLop == malop select l).FirstOrDefault(); if (lop.SinhViens.Count > 0) MessageBox.Show("L6p " + lop.TenLop + " co " + lop.SinhViens.Count + "sinh vien, khong dirge phep xoa", "Thong bao"); else { db.Lops.DeleteOnSubmit(lop); db.SubmitChanges(); HienThiLopLenListBox(); } - Khi click chudt phai vao ListBox danh sach lop thuc hien hidn thi menu, neu chon Them Lop thi hien thi form Quan ly thong tin lop, thuc hien them thong tin lop mdi va cap nhat lai danh sach lop tren ListBox 196 private void mnuThemLop_Click(object sender, EventArgs e) { ffmQLLop ffrnLop = new ffmQLLopQ; if (frmLop.ShowDialog() = DialogResult.OK) { HienThiLopLenListBox(); } b Quan ly thong tin Lop - Khi form Quan ly Lap duac goi tvr menu Them lap thi thuc hien hien thi danh sach lop len ListView danh sach lap, hien thi danh sach ten nganh len ComboBox nganh va vo hieu hoa Button Sua lop private void ffmQLLop_Load(object sender, EventArgs e) { HienThiLopLenListView(); HienThiNganhLenComboBox(); btnSuaLop.Enabled = false; •> Ham hien thi darih sach Ten nganh len ComboBox nganh (cboNganh) private void HienThiNganhLenComboBox() { SinhVienDataContext db = new SinhVienDataContextQ; 197 List dsLoaiKH = db.Nganhs.ToList(); cboNganh.DataSource = dsLoaiKH; cboNganh.ValueMember = "MaNganh"; cboNganh.DisplayMember = "TenNganh"; Ham hiSn thi danh sach lap len ListView danh sach lap (IvDSLop) private void HienThiLopLenListView() { ' ' - SinhVienDataContext db = new SinhVienDataContextQ; var query = from in db.Lops join ng in db.Nganhs on l.MaNganh equals ng.MaNganh select new { l.MaLop,l.TenLop,l.CVHT,ng.TenNganh }; lvDSLop.Items.Clear(); foreach (var in query) { ListViewItem Ivi = new ListViewItem(l.MaLop); Ivi.Subltems.Add(l.TenLop); lvi.SubItems.Add(l.CVHT); ' Ivi.Subltems.Add(l.TenNganh); IvDSLop.Items.Add(lvi); } } 198 - Khi nhan nut Them thuc hien them thong tin lop moi // Bien CoThayDoi dung de kiem tra ngudi dung co them hay siia lop? public static bool CoThayDoi = false; private void btnThemLop_Click(object sender, EventArgs e) { string malop = txtMaLop.Text; SinhVienDataContext db = new SinhVienDataContext(); Lop lop = (from in db.Lops where l.MaLop == malop select l).FirstOrDefault(); if (lop = null) { try { if (cboNganh.SelectedValue = null) { MessageBox.Show(”Chua chon nganh”); return; } lop = new Lop(); lop.MaLop = txtMaLop.Text; lop.TenLop = txtTenLop.Text; ’ lop.CVHT = txtCVHT.Text; lop.MaNganh = cboNganh.SelectedValue.ToString(); db.Lops.InsertOnSubmit(lop); db.SubmitChangesQ; HienThiLopLenListView(); CoThayDoi = true; } 199 •f catch (Exception ex) { MessageBox.Show(ex.Message); } } - Khi nhan nut Dong thuc hien dong form Quan ly Lop private void btnDongLop_Click(object sender, EvehtArgs e) { if (CoThayDoi == true) DialogResult = DialogResult.OK; else DialogResult = DialogResult.Cancel; } 6.4 Bai tap cung co Bai 1: Sinh vien lam tiep phan sua lop cua Ung dung minh hoa a tren Khi chon ddi tirong lap ya click chuot phai tren ListBox danh sach lap thuc hien hi£n thi menu, n£u chon Sua Lop thi hi8n thi form Quan ly thong tin lap, hi6n thi thong tin lap duac chon len GroupBox thong tin lap, vo hieu hoa TextBox ma lop va Button Them, nhin nut Sua thuc hien sua thong tin lap duac chon 200 « c[ a Qudn ly Sinh viin QUAN LY SINH VIEN •> Dacb lichldp _ CXdnlylOp IC4n sAcb Luu T&n a£ch MA ti r^ j j, Tim IdLn "J Tholt ] Hinh 6-15: Giao dien Quan ly Sach 201 ThiSt k£ giao dien tim kiSm sach nhu hinh: Tim Kiem Sach -Thong tin tim kiem Nhap ten sach: | -Ket qua tim kiefli ~ n x - -Tm *• Hinh 6-16: Giao dien tim kiem Sach Yeu cau c&i dat: - Chucmg trinh load toan bo danh sach nha xuat ban len ListBox Khi nguai dung chon nha xuat ban thi toan bo dau sach cua nha xuat ban duoc chon se hien thi len ListView - Viet su kien cho ListView, chon timg dau sach listview se hien thi thong tin chi tiet timg dau sach - Viet su kien cho cac nut: + Luu: Neu Sach da ton tai thi chucmg trinh tu dong cap nhat thong tin sach, nguoc lai thi chuomg trinh tu dong them mdi sach 202 f r + Tiep: Chuang trinh xoa trang cac TextBox va dua y ■ tro ve textbox ma sach + Xoa: Chuang trinh se xoa Sach dang chon +’ Tim kiem: Chuang trinh se hi6n thi giao dien tim kiem sach cho phep nguai dung tim kiem sach theo ten sach va nhin nut tim de hi6n thi k£t qua tim kiem vao DataGridView -I- Thoat: Hien thi hop thoai hoi nguai dung co muon thoat hay khong, n£u chon thoat thi tit chuang trinh - Moi thao tac lam thay doi ca sa du lieu deu phai cap nhat lai giao dien Bai 3: Sinh vien xay dung lai Phan mem Quan ly nhan vien cua bai tap - Chuang I * TAI LIEU THAM KHAO [1] [2] Truong Minh Tuin, LinQ Step By Step Reference WithC#, 2016 https://docs.microsoft.com/en-us/previousversions/visualstudio/visual-studio2008/bb397897(v%3dvs.90) (lan truy cap cuoi cung 09/04/2019) 203 GIAO TRINH LAP TRIHH RET Chiu trach nhiem xuat ban: Giam dtfc - Tong Bien tap DAU XUAN LUAN Chiu trach nhiem ban thao: ■Giam doc Tong Bien tap DAU XUAN LUAN ' PHAM VAN TRU0NG Bien tap: PHAN HOANG THI Trinh bay va siia ban in: DUNG HA Bia: NHA XUAT BAN QUAN DOI NHAN DAN, 23 Ly Nam Dd - Ha N6i DT: 024.38455766 - 37470780; Fax: 024.37471106 Website: http://nxbqdnd.com.vn Email: nxbQdnd@nxbadnd.com.vn Chi nhanh tai Thanh phtf H6 Chi Minh So 161-163-Trdn Qudc Thao, phirtfng 9, quan DT: 028.62565588 - 069.667452; Fax: 028.62565588 Cd quan Dai di£n tai Thanh ph6' Can Thd Phi tnlcfng 31 - difcfng Cdch mang thang Tam DT: 069.629905 - 0292.3814772; Fax: 0292.3814772 Cd quan Dai di£n tai Thanh Da Nhng So 172 difdng 2-9, qu^n Hai Chau DT: 0236.6250803; Fax: 0236.6250803 - J- ■ In xong v^l nop lifu chieu: Kho sdch: 14.5 x 20.5 cm So dang ky KHXB: ' Quyet dinh xuat ban s5: I Quy I - 2020 So li/ong: 323 So trang: 204 674-2020/CXBIPH/3-19/QDND 42/QD-NXBQDND thang nSm 2020 Chi nhdnh NXB QDND tai TP.Ho Chi Minh Sap chG tai: C6ng ty co phan In Khuyen hoc phia Nam In va ddng sach: L6 5-8, dtrdng D4, KCN Tan Phu Trung, Cu Chi, TP Ho Chi Minh ISBN: 978-604-51-5930-9

Ngày đăng: 15/11/2023, 14:44

Xem thêm: