Hướng dẫnthựchành - LậptrìnhWindows1 – Module5Bài 11: Mục đích: + Sử dụng CheckedListBox và ListBox control. Yêu cầu: Thực hiện theo hướngdẫn trong giáo trình trang 479 (Working with ListBox Controls). Sửa lại chương trình sao cho không còn nút Move, khi chọn bên CheckedListBox thì đưa qua ListBox, bỏ chọn thì bên ListBox cũng bị xoá tương ứng. Bài 12: Mục đích: + Sử dụng ListView control. Yêu cầu: Thực hiện theo hướngdẫn trong giáo trình trang 485 (Working with the ListView Control). Bài 13: Mục đích: + Sử dụng ListView control. Yêu cầu: Thiết kế giao diện như sau: Thực hiện các yêu cầu sau: Thiết lập thuộc tính cho phép chọn nhiều dòng trên ListView. Nút Thêm (hoặc Enter trên các textbox): cho phép thêm một dòng vào ListView. Phải kiểm tra dữ liệu nhập hợp lệ (phải nhập đủ thông tin, ô điện thoại phải là số, không được trùng số điện thoại). Hướng dẫnthựchành - LậptrìnhWindows1 – Module5 Nút Xóa: cho phép xóa 1 dòng đang chọn trong ListView, phải xác nhận lại trước khi xoá. Nút Sửa: cho phép sửa nội dung dòng đang chọn trong ListView, phải kiểm tra dữ liệu giống như nút thêm, không cho phép sửa khi đang chọn nhiều dòng hoặc chưa chọn dòng nào. Nút Tìm kiếm: cho phép tìm theo tên nhập vào, nếu có thì đánh dấu chọn dòng đó. Khi chọn một dòng trong ListView thì hiển thị thông tin dòng đó tương ứng lên các textbox. Nút Thoát (hoặc nhấn Esc): thoát chương trình. Quy định Form hiển thị giữa màn hình. Quy định việc di chuyển tab hợp lý. Thiết lập thuộc tính Anchor hợp lý cho các control. Thiết lập MinimumSize cho form. Lưu nội dung ListView vào file và đọc dữ liệu từ file đưa lên ListView. Hướng dẫn: Hàm đọc file: private void DocFileVaoListView(string filename, ListView lvw){ StreamReader sr = File.OpenText(filename); string s; ListViewItem item; while ((s = sr.ReadLine()) != null) { item = lvw.Items.Add(s); s = sr.ReadLine(); item.SubItems.Add(s); s = sr.ReadLine(); item.SubItems.Add(s); } sr.Close(); } Hàm lưu file: private void LuuFileTuListView(string filename, ListView lvw) { StreamWriter sw = File.CreateText(filename); foreach (ListViewItem item in lvw.Items) { sw.WriteLine(item.Text); sw.WriteLine(item.SubItems[1].Text); sw.WriteLine(item.SubItems[2].Text); Hướng dẫnthựchành - LậptrìnhWindows1 – Module5 } sw.Close(); } Bài 14: Mục đích: + Sử dụng ListView và ComboBox control. + Tính tổng tiền. Yêu cầu: Thiết kế giao diện như sau: Thực hiện các yêu cầu sau: Thiết lập thuộc tính cho phép chọn nhiều dòng trên ListView. ComboBox có 3 khu vực: Khu vực 1 (định mức là 50), khu vực 2 (định mức là 100), khu vực 3 (định mức là 150). Khi chọn khu vực nào thì hiện định mức tương ứng. Nút Tính tiền (hoặc Enter trên các textbox): kiểm tra dữ liệu nhập, nếu hợp lệ thì tính và xuất kết quả ra ô Tiêu thụ và Thành tiền , đồng thời thêm một dòng tương ứng vào ListView và cập nhật ô tổng tiền. Đơn giá điện: trong định mức là 500, ngoài định mức là 1000. Nút Nhập mới: Xoá nội dung các textbox và label, đồng thời đặt con trỏ vào textbox đầu tiên Nút Xóa: cho phép xóa 1 dòng đang chọn trong ListView, phải xác nhận lại trước khi xoá và cập nhật lại ô tổng tiền. Nút Thoát (hoặc nhấn Esc): thoát chương trình Quy định Form hiển thị giữa màn hình. Quy định việc di chuyển tab hợp lý. Hướng dẫnthựchành - LậptrìnhWindows1 – Module5 Thiết lập thuộc tính Anchor hợp lý cho các control. Thiết lập MinimumSize cho form. Bài 15: Mục đích: + Sử dụng TabControl. Yêu cầu: Thực hiện theo hướngdẫn trong giáo trình trang 493 (Working with TabPages). Bài 16: Mục đích: + Sử dụng MenuStrip. Yêu cầu: Thực hiện theo hướngdẫn trong giáo trình trang 502 (Handling Menu Events). Bài 17: Mục đích: + Sử dụng ToolStrip. Yêu cầu: Thực hiện theo hướngdẫn trong giáo trình trang 505 (Extending Your Toolbar). Bài 18: Mục đích: + Sử dụng StatusStrip. Yêu cầu: Thực hiện theo hướngdẫn trong giáo trình trang 510 (Working With the StatusStrip Control). Bài 19: Mục đích: + Tạo ứng dụng dạng MDI. Yêu cầu: Thực hiện theo hướngdẫn trong giáo trình gồm các bài: Trang 513 (Creating an MDI Application). Trang 516 (Creating an MDI Text Editor). Trang 518 (Merging Menus). Trang 520 (Tracking Windows). . chọn bên CheckedListBox thì đưa qua ListBox, bỏ chọn thì bên ListBox cũng bị xoá tương ứng. Bài 12: Mục đích: + Sử dụng ListView control. Yêu cầu: Thực hiện theo hướng dẫn trong giáo trình. sw.WriteLine(item.Text); sw.WriteLine(item.SubItems[1].Text); sw.WriteLine(item.SubItems [2] .Text); Hướng dẫn thực hành - Lập trình Windows 1 – Module 5 } sw.Close(); } Bài 14: Mục. phép chọn nhiều dòng trên ListView. ComboBox có 3 khu vực: Khu vực 1 (định mức là 50), khu vực 2 (định mức là 100), khu vực 3 (định mức là 150). Khi chọn khu vực nào thì hiện định mức tương