Hướng Dẫn Thực Hành LẬP TRÌNH WINDOWS Cơ bản

59 1K 10
Hướng Dẫn Thực Hành LẬP TRÌNH WINDOWS  Cơ bản

Đ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

Đây là tài liệu cơ bản cho các bạn làm quen lập trình Winform cơ bản với ngôn ngữ C, qua tài liệu này sẽ giúp cho các bạn làm quen được những phần cơ bản nhất. Các modul trong bài:•Bài tập thực hành được chia làm nhiều Module•Mỗi Module được thiết kế cho thời lượng là 3 tiết thực hành tại lớp với sự hướng dẫn của giảng viên.•Tùy theo số tiết phân bổ, mỗi tuần học có thể thực hiện nhiều Module.•Sinh viên phải làm tất cả các bài tập trong các Module ở tuần tương ứng. Những sinh viên chưa hoàn tất phần bài tập tại lớp có trách nhiệm tự làm tiếp tục ở nhà.

Hướng dẫn thực hành – LT Windows Năm 2012 Hướng dẫn:  Bài tập thực hành chia làm nhiều Module  Mỗi Module thiết kế cho thời lượng tiết thực hành lớp với hướng dẫn giảng viên  Tùy theo số tiết phân bổ, tuần học thực nhiều Module  Sinh viên phải làm tất tập Module tuần tương ứng Những sinh viên chưa hoàn tất phần tập lớp trách nhiệm tự làm tiếp tục nhà Trang 1/59 Hướng dẫn thực hành – LT Windows – Module Mục lục Trang Module Giới thiệu ngôn ngữ lập trình C# Module GUI (phần 1) Module GUI (phần 2) 13 Module GUI (phần 3) 17 Module GUI (phần 4) 21 Module GUI (phần 5) 25 Module OOP 28 Module Array and Collection 35 Module File and Stream 43 Module 10 String 49 Trang 2/59 Hướng dẫn thực hành – LT Windows – Module Module Giới thiệu ngôn ngữ lập trình C# Nội dung kiến thức thực hành: + Làm quen với ngôn ngữ C# + Tạo ứng dụng dạng Console + Chuyển đổi kiểu liệu Yêu cầu:  Tất tập lưu thư mục: MaSV_HoTen\Tuan1\  Mỗi tập thuộc solution riêng, với tên solution HoTen_BaiX Viết ứng dụng dạng Console xuất lời chào sau: Bài Welcome to C# Programming! Programming by your name Viết chương trình nhập vào tên xuất hình “Hello + Tên” Bài Lưu ý:  Khai báo biến chuỗi: string ten;  Nhập chuỗi từ bàn phím: ten = Console.ReadLine();  Xuất hình: Console.WriteLine(“Chuỗi” + biến); Bài Viết chương trình giải phương trình bậc Bài Viết chương trình giải phương trình bậc HD: Định dạng số lẻ: String.Format(“{0:0.00}”, x); Hoặc dùng Math.Round(x, 2); Viết chương trình tính chu vi diện tích hình tam giác, hình chữ nhật, hình vuông, hình tròn Chương trình cho phép nhập thông số cho hình xuất kết hình Bài Bài 6 Viết chương trình tạo menu sau: Nhập hai số nguyên a, b Xuất tổng a + b Xuất hiệu a – b Xuất tích a * b Xuất thương a/b Kết thúc Trang 3/59 Hướng dẫn thực hành – LT Windows – Module Khi người sử dụng nhập số nguyên, thực công việc tương ứng Bài Làm lại tập cách sử dụng delegate Trang 4/59 Hướng dẫn thực hành – LT Windows – Module Module GUI (phần 1) Nội dung kiến thức thực hành: + Tạo ứng dụng Windows Form + Sử dụng thuộc tính, phương thức kiện control: Label, Textbox, Button, ErrorProvider, RadioButton, CheckBox, GroupBox, Panel Yêu cầu:  Tất tập lưu thư mục: MaSV_HoTen\Tuan2\  Mỗi tập thuộc solution riêng, với tên solution HoTen_BaiX  Đổi tên form tương ứng với mục đích Bài Thiết kế Form sau: txtYourName txtYearOfBirth btnShow btnExit btnClear errorProvider Yêu cầu:  Chương trình cho phép nhập tên, năm sinh vào Textbox YourName Year of birth tương ứng Nếu YourName không nhập liệu, Year of birth số phải thông báo lỗi (dùng ErrorProvider)  Người dùng nhấn nút Show hiển thị thông tin nhập vào MessageBox bao gồm: tên, tuổi (năm – năm sinh) Trang 5/59 Hướng dẫn thực hành – LT Windows – Module  Người dùng nhấn nút Clear xóa hết thông tin nhập Textbox, đồng thời đặt trỏ văn vào Textbox YourName  Nút Exit xác nhận người dùng thực muốn thoát khỏi chương trình không? (Yes: thoát, No: không) Hướng dẫn:  Danh sách thuộc tính object: Object Properties Name: frmBaiTap1 frmBaiTap1 Text: My name Project FontName: Tahoma FontSize: 11 AcceptButton: btnShow (nhận kiện click chuột nhấn Enter) CancelButton: btnExit (nhận kiện click chuột nhấn Esc) Name: txtYourName txtYourName BorderStyle: FixSingle Name: txtYear txtYear BorderStyle: FixSingle Name: btnShow btnShow Text: &Show Name: btnClear btnClear Text: &Clear Name: btnExit btnExit Text: E&xit Name: errorProvider1 errorProvider Events FormClosing Leave (mất tiêu điểm) TextChanged Click Click Click  Thứ tự nhận tiêu điểm Form: chọn menu View  Tab Order Lần lượt thực click chọn phần tử Form theo thứ tự nhận tiêu điểm: TabIndex=0 TabIndex=1 TabIndex=2 TabIndex=3 TabIndex=4 TabIndex=6 TabIndex=5  Các kiện: Trang 6/59 Hướng dẫn thực hành – LT Windows – Module Trang 7/59 Hướng dẫn thực hành – LT Windows – Module Bài Viết chương trình dùng để qui đổi tiền từ VND sang USD ngược lại, từ VND sang EUR ngược lại hình sau: Yêu cầu:  Khi số tiền cần qui đổi số để trống hiển thị lỗi vào errorProvider  Nút VNDtoUSD: thực qui đổi từ VND sang USD ( với tỷ giá là: USD=17861 VND) hiển thị vào lblKetQua, làm tròn chữ số thập phân (dùng phương thức Math.Round)  Nút USDtoVND: thực qui đổi từ USD sang VND ( với tỷ giá là: USD=17861 VND) hiển thị vào lblKetQua, làm tròn chữ số thập phân (dùng phương thức Math.Round)  Nút VNDtoEUR: thực qui đổi từ VND sang EUR ( với tỷ giá là: USD=27043 VND) hiển thị vào lblKetQua, làm tròn chữ số thập phân (dùng phương thức Math.Round)  Nút EURtoVND: thực qui đổi từ EUR sang VND ( với tỷ giá là: USD=27043 VND) hiển thị vào lblKetQua, làm tròn chữ số thập phân (dùng phương thức Math.Round)  Sự kiện FormClosing: xác nhận người dùng chắn thoát không? (Yes: thoát, No: không) Bài Thêm vào project form khác, thực toán giải phương trình bậc 1: Trang 8/59 Hướng dẫn thực hành – LT Windows – Module Yêu cầu:  Khi form lên nút Tính nút Xóa bị mờ (Enabled=false) Nếu liệu nhập không hợp lệ thông báo lỗi (dùng errorProvider) Sau nhập liệu hợp lệ đầy đủ nút Tính tác dụng (Enabled=true)  Khi nhấn nút Tính: tính nghiệm phương trình (xét tất trường hợp xảy ra: PT nghiệm, vô nghiệm, vô số nghiệm) kết vào Nghiệm PT Khi nút Xóa tác dụng, nút Tính bị mờ  Khi nhấn nút Xóa: xóa Textbox Label, đặt trỏ vào Textbox A, nút Xóa bị mờ  Khi nhấn nút Thoát: xác nhận người dùng chắn thoát khỏi ứng dụng hay không Bài Thiết kế giao diện hình Khi nhấn chọn vào phép tính kết phép tính vào ô Kết Trước tính cần kiểm tra liệu nhập phải số Bài Thiết kế giao diện hình sau: Trang 9/59 Hướng dẫn thực hành – LT Windows – Module txtNhapten chkBold radGreen lblLapTrinh btnThoat Yêu cầu:  Khi chương trình lên: o Radiobutton Red chọn mặc định (đổi màu chữ ô lblLapTrinh ô txtNhapten) o Con trỏ văn xuất ô txtNhapten  Khi gõ vào ô txtNhapten Label lblLapTrinh chạy song song nội dung  Nhấn nút "Thoát" Esc thoát chương trình  Nhấn Radiobutton Red, Green, Blue, Black đổi màu chữ tương ứng ô lblLapTrinh ô txtNhapten  Nhấn checkbox chữ đậm, nghiêng, gạch chân đổi style chữ ô lblLapTrinh ô txtNhapten tương ứng Hướng dẫn: đổi style chữ ô lblLapTrinh Viết kiện CheckedChanged checkbox: private void chkdam_CheckedChanged(object sender, EventArgs e) { lblLapTrinh.Font = new Font(lblLapTrinh.Font.Name, lblLapTrinh.Font.Size, lblLapTrinh.Font.Style ^ FontStyle.Bold); } Bài Viết chương trình định dạng Textbox theo font chữ tương ứng với Radiobutton Trang 10/59 Hướng dẫn thực hành - LT Windows – Module Khi chương trình bắt đầu thực thi, chương trình nạp liệu từ file liệu mã hóa trước sau đưa lên Treeview (Lưu ý: thuộc tính text TreeNode tên lớp, Tag đối tượng lớp học, ToolTipText phương thức ToString đối tượng này) Khi chọn lớp TreeView, danh sách sinh viên thuộc lớp ListView Khi chọn sinh viên ListView, thông tin chi tiết thể lên TextBox Nút “Lớp học” hiển thị Form khác cho phép người dùng thao tác với thông tin danh sách lớp hình sau: Trang 45/59 Hướng dẫn thực hành - LT Windows – Module Thực chức năng: Thêm, Xóa, Sửa, nút duyệt Danh sách Lớp học Bài Viết chương trình Quản lý toán tiền phòng cho Khách sạn Thanh Thanh sau:  Khi khách trả phòng, nhân viên kế toán thực kiểm tra tên, địa chỉ, số ngày ở, loại phòng, tiện nghi dịch vụ khách Sau bảng giá: o Loại phòng: Phòng đơn: 300.000đ/1 ngày Phòng đôi: 350.000đ/1 ngày Phòng ba: 400.000đ/1 ngày o Tiện nghi: loại cộng thêm 10.000đ o Dịch vụ: Karaoke: 50.000đ Ăn sáng: 15.000đ/1 ngày  Cuối ngày Nhân viên kế toán thống kê tổng số lượt người trả phòng, tổng số tiền thu ngày Chương trình thực hiện:  Khi Form lên: trỏ văn đặt vào ô tên khách hàng, nút Tổng Kết, Nhập Mới, Thanh Toán bị mờ (enabled=false) Thực nhập tên (tên khách không để trống), địa chỉ, số ngày (number), check vào loại phòng, tiện nghi, dịch vụ mà khách thuê Khi nhập đầy đủ thông tin nút Thanh Toán tác dụng Trang 46/59 Hướng dẫn thực hành - LT Windows – Module  Nhấn nút Thanh Toán: thực tính tiền cho khách vừa nhập hiển thị lên label Thành tiền, đồng thời lưu lại thông tin tổng số tiền, tổng số lượt khách lưu lại thông tin khách hàng vừa toán vào Danh sách khách hàng Nút Tổng Kết, Nhập Mới sáng lên sẵn sàng cho việc nhập khách  Nhấn nút Nhập Mới: khởi tạo lại trạng thái ban đầu Form, sau bị mờ  Nhấn nút Tổng Kết: Ghi lại thông tin tổng số khách tổng tiền toán vào Label tương ứng, đồng thời khởi tạo lại giá trị tổng số khách hàng = 0, tổng tiền toán = Nút Tổng Kết bị mờ  Nhấn nút Ghi File: thực lưu danh sách khách hàng vào file (object text file)  Nhấn nút Đọc File: thực đọc liệu từ file ghi, load vào collections đồng thời hiển thị lên giao diện  Nhấn nút Xóa: thực xóa mẩu tin chọn ListView theo maKH (thực ghi xuống file)  Khi click chọn phần tử ListView hiển thị thông tin tương ứng Textbox  Nhấn nút Thoát: hỏi người dùng chắn thoát khỏi chương trình hay không? Yes: thoát, No: không Bài Tạo chương trình để duyệt hiển thị tất ảnh thư mục dạng thumnails view Khi chương trình khởi động nạp thư mục lên Treeview Khi người dùng chọn thư mục Treeview, chương trình liệt kê tất hình ảnh lên FlowlayoutPanel Khi người dùng chọn hình từ FlowlayoutPanel, hình ảnh thị lên PictureBox phía Trang 47/59 Hướng dẫn thực hành - LT Windows – Module Gợi ý: Dùng mảng picturebox động để chứa danh sách hình ảnh Dùng FlowLayoutPanel để chứa mảng picturebox Trang 48/59 Hướng dẫn thực hành - LT Windows – Module 10 Module 10 String Nội dung kiến thức thực hành: + Thao tác chuỗi Yêu cầu:  Tất tập lưu thư mục: MaSV_HoTen\Tuan10\  Mỗi tập thuộc solution riêng, với tên solution HoTen_BaiX  Đổi tên form tương ứng với mục đích Bài Thiết kế giao diện thực chức hình sau: Hướng dẫn: + Hàm bỏ tất khoảng trắng thừa: private string BoKhoangTrangThua(string s) { string re; re = s.Trim(); while(re.IndexOf(" ")!=-1) re = re.Replace(" ", " "); return re; } + Hàm kiểm tra ký tự đặc biệt: private bool KiemTraKyTuDacBiet(string s) { string sdacbiet = "~!@$%^&*()_+0123456789-={}|[]:;?,./'\"\\"; foreach (char c in sdacbiet) { if (s.IndexOf(c) >= 0) return true; Trang 49/59 Hướng dẫn thực hành - LT Windows – Module 10 } return false; } + Hàm đếm số ký tự thường: private int DemSoKyTuThuong(string s) { int d = 0; for (int i = 0; i < s.Length; i++) if (char.IsLower(s[i])) d++; return d; } + Hàm đếm số từ: private int DemSoTu(string s) { s = BoKhoangTrangThua(s); string[] re = s.Split(new char[] { ' ' }); return re.Length; } Bài Thiết kế giao diện thực chức hình sau: Chú ý: Danh sách sinh viên đọc từ file (file text) Bài Tạo file liệu sinh viên gồm thông tin sau: mã sv, họ tên, nơi sinh (mỗi thông tin cách ký hiệu tùy chọn) Sau đọc file vào ListView ứng với cột, biết ListView cột gồm: mã sv, họ tên đệm, tên, nơi sinh Trang 50/59 Hướng dẫn thực hành - LT Windows – Module 10 Trang 51/59 Hướng dẫn thực hành - LT Windows – Module 10 Bài 1: Yêu cầu: Thiết kế giao diện hình sau:  Khi form lên: o Tất textbox label rỗng o Xác lập việc di chuyển tab hợp lý (menu View\Tab Order) Cho trỏ xuất textbox "Tên Hàng" o Cho form hiển thị hình (StartPosition=CenterScreen) o Thiết lập nút "Thanh Toán" nhận kiện phím Enter (AcceptButton), nút "Tiếp" nhận kiện phím ESC (CancelButton) o Thực canh lề phải cho đối tượng chứa liệu số (Text Align=Right)  Xử lý nút lệnh “Thanh Toán”: o Các textbox Số lượng, Đơn Giá buộc phải giá trị cho phép nhập số Thêm vào đó:  Số lượng >=0 (int)  Đơn giá >=0 (decimal) Cung cấp MessageBox khác để thông báo rõ ràng cho việc liệu bị nhập sai o Nếu liệu hợp lệ tính toán cho mặt hàng tại, xuất kết label Thành Tiền (thành tiền=số lượng*đơn giá)   Nút "Tiếp": o Xóa nội dung textbox label o Đặt focus vào textbox Nút "Kết Thúc": o Phát sinh MessageBox hỏi lại việc đóng form xác không, người sử dụng xác nhận nút Yes cho thoát chương trình Trang 52/59 Hướng dẫn thực hành - LT Windows – Module 10 Trang 53/59 Hướng dẫn thực hành - LT Windows – Module 10 Bài 5: Viết chương trình nhập vào năm dương lịch xuất năm âm lịch tương ứng Thiết kế giao diện hình sau: Biết rằng: Năm Âm = Can + Chi Can = Năm dương % 10: Canh Tân Nhâm Quý Giáp Ất Bính Đinh Mậu Kỷ Chi = Năm âm % 12: 10 11 Thân Dậu Tuất Hợi Tý Sửu Dần Mẹo Thìn Tỵ Ngọ Mùi Hướng dẫn: Xử lý nút "Thực đổi": //Khai bao bien int intNamDuong; string strCan=""; string strChi=""; //1 Kiểm tra ô nhập liệu không để trống //2 Kiểm tra số dương Trang 54/59 Hướng dẫn thực hành - LT Windows – Module 10 //3 Tính //3.1 Tính Căn switch (intNamDuong % 10) { case 0: strCan = "Canh"; break; … case 9: strCan = "Kỷ"; break; } //3.2 Tính Chi switch (intNamDuong % 12) { case 0: strChi = "Thân"; break; … case 11: strChi = "Mùi"; break; } // 3.3 Xuất kết label // … Bài 6: Thiết kế giao diện sau cho chương trình bán hàng: Trang 55/59 Hướng dẫn thực hành - LT Windows – Module 10 Yêu cầu: [1] Sinh viên tự thiết lập thuộc tính cho giao diện để chương trình dễ sử dụng [2] Nhấn nút "Bàn Mới" xóa nội dung ô số lượng, đơn giá, thành tiền đặt trỏ ô nhập số lượng [3] Nhấn nút "Tính" Enter tính kết lên ô thành tiền ô nhóm "Thông tin thống kê" [4] Nhấn vào "Thoát" Esc thoát chương trình [5] Thêm vào nút "Tính lại từ đầu", nút cho phép xóa tất thông tin giao diện cho thông tin thống kê bắt đầu lại từ Hướng dẫn: Sử dụng biến toàn cục để tính tổng Bài 7: Viết chương trình quay số may mắn giao diện sau: Gồm: - Groupbox chứa Label - Label dùng để hiển thị kết (canh lề phải) - Button Yêu cầu: Khi chương trình vừa bắt đầu: - label hiễn thị số Trang 56/59 Hướng dẫn thực hành - LT Windows – Module 10 - Máy tính 100 đồng - Người chơi 100 đồng Khi nhấn nút "Quay số": - Mỗi lần quay số, người chơi phải trả trước 30 đồng, tương ứng máy cộng thêm 30 đồng Và người chơi số tiền 30 đồng không phép chơi tiếp - Nếu lần quay số 7, người chơi thưởng sau: + Nếu ô số (random từ đến 8), thưởng 100 đồng + 50% số tiền máy + Nếu ô số số (random từ đến 9), người chơi thưởng 30 đồng + 50% tiền máy + Nếu ô số số (random từ đến 10), người chơi thưởng 10 đồng; Số tiền người chơi cộng dồn ô số 7, tiền máy giảm phần trăm tương ứng Khi nhấn nút "Game mới": Cho phép lượt chơi hoàn toàn (cho tiền người chơi tiền máy 100) Hướng dẫn: Khai báo biến toàn cục: decimal tienmay = 100; decimal tiennguoi = 100; Xử lý kiện timer: private void timer1_Tick(object sender, EventArgs e) { decimal tienthuong; int so; int so3; int so2; timer1.Interval += 5; //tăng giá trị timer //tạo số ngẫu nhiên Random ran = new Random(); so = ran.Next(0, 8); so2 = ran.Next(0, 9); so3 = ran.Next(0, 10); //xuất số ngẫu nhiên label lblSo.Text = so.ToString(); lblSo2.Text = so2.ToString(); lblSo3.Text = so3.ToString(); //kiểm tra số ngẫu nhiên vừa tạo phải số hay không if (timer1.Interval > 200) // điều kiện dừng timer { timer1.Stop(); if (so == 7) { //tính tiền thưởng Trang 57/59 Hướng dẫn thực hành - LT Windows – Module 10 //tính tiền người chơi nhận //tính tiền máy tienthuong = 100 + (tienmay * 50) / 100; tiennguoi = tiennguoi + tienthuong; tienmay = tienmay - (tienmay * 50) / 100; //xuất thông báo MessageBox.Show("Bạn thưởng " + tienthuong + " đồng", "Lucky Seven !"); } if (so2 == 7) { //tính tiền thưởng //tính tiền người chơi nhận //tính tiền máy } if (so3 == 7) { //tính tiền thưởng //tính tiền người chơi nhận //tính tiền máy } //hiển thị kết quả: lblTienNguoiChoi.Text = tiennguoi.ToString(); lblTienMay.Text = tienmay.ToString(); } } Xử lý nút "Quay số": private void btnQuaySo_Click(object sender, EventArgs e) { if (tiennguoi >= 30) //kiểm tra người chơi đủ tiền không { timer1.Enabled = true; //kích hoạt timer timer1.Interval = 2; //quy định thời gian tái kích hoạt timer tienmay = tienmay + 30; //tăng tiền máy tiennguoi = tiennguoi - 30; //giảm tiền người chơi //hiển thị kết hình } else //không đủ tiền: game over { // Thông báo chơi tiếp không đủ tiền // Khóa timer // Khóa nút Quay số } } Bài 8: Trang 58/59 Hướng dẫn thực hành - LT Windows – Module 10 Viết chương trình cho phép phát sinh số nguyên thuộc [0,9], sau cho người dùng đoán số chương trình kết xem người dùng đoán số phát sinh hay không Hướng dẫn: Dùng lớp Random để phát sinh số ngẫu nhiên Bài 9: Viết lại trên, cho người dùng đoán lần Bài 6: Mục đích: Sử dụng mảng hai chiều Console Application Yêu cầu: Nhập mảng chiều N x N phần tử (N

Ngày đăng: 26/04/2017, 09:42

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan