Nội dung: (ba nhóm kiến thức chính)
◦ Trang bị kiến thức 
 Nền tảng về .NET Framework 
 Cơ bản về ngôn ngữ C#
◦ Kiến thức về lập trình ứng dụng trong môi
trường Windows với C#.
 Xây dựng ứng dụng dựa trên Form (Windows 
Form Application)
◦ Cung cấp các kiến thức nâng cao về lập
trình cơ sở dữ liệu trong C#.
 MS Access hoặc MS SQL Server
              
            LẬP TRÌNH WINDOWS 
BẰNG C SHARP 
(C#) 
Giảng viên: NGUYỄN THÀNH CHIẾN 
Email: 
[email protected] 
1 
Số đơn vị học trình: 5 
Thời lượng : 105 tiết (45LT + 60TH) 
Giới thiệu môn học 
 Mục tiêu 
◦ Cung cấp kiến thức và kỹ năng lập trình 
ứng dụng trong môi trường Windows cơ 
bản & nâng cao. 
2 
Giới thiệu môn học 
◦ Cung cấp kiến thức lập trình C# cho các 
ứng dụng Windows và các hàm thư viện 
cơ bản MS.NET. 
3 
Giới thiệu môn học 
 Giúp sinh viên xây dựng ứng dụng bằng 
công cụ lập trình hiện đại & mạnh mẽ của 
MS là Visual Studio 2005/2008/2010/2013 
Nguyen Thanh Chien - 2013 4 
Giới thiệu môn học 
 Nội dung: (ba nhóm kiến thức chính) 
◦ Trang bị kiến thức 
 Nền tảng về .NET Framework 
 Cơ bản về ngôn ngữ C# 
◦ Kiến thức về lập trình ứng dụng trong môi 
trường Windows với C#. 
 Xây dựng ứng dụng dựa trên Form (Windows 
Form Application) 
◦ Cung cấp các kiến thức nâng cao về lập 
trình cơ sở dữ liệu trong C#. 
 MS Access hoặc MS SQL Server 
 5 
Yêu cầu với sinh viên 
 Có kiến thức cơ sở về lập trình, cấu trúc dữ liệu, cơ sở dữ 
liệu, lập trình hướng đối tượng. 
 Nghe giảng lý thuyết. (nghiêm túc, không nói chuyện, 
không làm việc riêng, không sử dụng điện thoại trong lớp) 
 Đọc các tài liệu tham khảo được cung cấp! 
 Làm tất cả các bài tập do GV cung cấp. 
◦ Gồm 5 bài tập về nhà (homework) nộp đúng hạn qua 
email 
◦ 7 bài kiểm tra 15 phút đầu giờ để đánh giá sự chuẩn bị 
cho bài mới (giấy hoặc làm trắc nghiệm trên máy) 
◦ 1 bài tập nhóm (3 sinh viên/nhóm) – báo cáo vào tuần 
cuối cùng của học phần. Lập DS gởi lại GV vào buổi học 
t5 tuần sau. 
◦ 3 bài kiểm tra thực hành trên máy 
(Mỗi bài kiểm tra nếu nộp ko đúng hạn, sao chép quá 30% 
hoặc vắng không lý do đều bị đểm 0) 
 Tinh thần làm việc nghiêm túc, trách nghiệm cao 
 Hoạt động nhóm 
 Trao đổi, thảo luận với GV và SV khác 
6 
Tài liệu môn học 
Tiếng Việt: 
1. Bài giảng + Bài tập thực hành 
2. Giáo trình C# - trung tâm Nhất Nghệ 
3. Ngôn ngữ lập trình C# (tài liệu dịch) 
Website 
1. Source code tham khảo ở  
2. Các topic lập trình ở www.codeguru.com, 
www.codeproject.com 
3. … 
7 
Trang web môn học 
  
 Post các slide bài giảng 
◦ Ebook tham khảo 
◦ Danh sách bài tập 
◦ Điểm quá trình 
◦ Các thảo luận liên quan đến môn học 
 Yêu cầu sinh viên thường xuyên truy cập 
để có thông tin mới nhất! 
8 
TOÀN BỘ TÀI LIỆU VÀ BÀI GIẢNG MÔN HỌC ĐƯỢC ĐƯA WEBSITE 
Phục vụ cho môn học 
 Sinh viên tự cài đặt các tool sau 
◦ MS Visual Studio .NET 2008/2010 
(Pro/Express) 
◦ MS SQL Server 2005/2008 (Pro/Express) 
◦ Devexpress (công cụ làm đẹp giao diện) 
 Nguồn download 
◦  
◦ GV cung cấp 
9 
Nguyen Thanh Chien - 2013 10 
Đánh giá cuối khóa 
11 
• ĐHP: điểm học phần 
• ĐQT: điểm quá trình 
• ĐTHP: điểm thi kết thúc học phần 
• ĐBT: Điểm bài tập về nhà 
• BC: Điểm báo cáo nhóm (Thuyết trình + ND báo cáo) 
• ĐTH: điểm thực hành 
2 
ĐTHP có thể thay bằng 
làm đồ án miễn thi (đăng 
ký vào tuần thứ 2). Nếu 
đồ án ko đạt chất lượng 
được tính vào điểm TH 
Đánh giá cuối khóa 
 (2): Cách tính điểm quá trình 
12 
• ĐTL: điểm thảo luận nhóm, mỗi nhóm sẽ có một topic 
riêng, thảo luận trên lớp, giảng viên sẽ chấm điểm 
• ĐBT: sinh viên làm bài kiểm tra kiến thức 15 tại lớp 
• ĐCC: lấy điểm điểm danh (điểm danh bất kỳ để lấy 
điểm) 
• … 
N: số cột điểm 
ĐỒ ÁN (BT NHÓM) 
 Tên đề tài: Phân tích, thiết kế và xây dựng 1 chương 
trình theo hướng đối tượng 
 Nhóm gồm 3 sinh viên (1 nhóm trưởng) 
 Thời hạn: tuần cuối cùng của HP 
 Hình thức: Báo cáo (Slide) + CD chương trình + Bảng 
thống kê hoạt động nhóm của các thành viên 
 Gợi ý: 
◦ Quản lý sinh viên, Quản lý đoàn viên 
◦ Quản lý thu chi học phí, Quản lý thư viện 
◦ Quản lý xếp loại điểm rèn luyện 
◦ Quản lý thời khóa biểu, Quản lý điểm 
◦ Quản lý bán hàng, Quản lý kho, Quản lý tài sản 
◦ Quản lý đăng tin quảng cáo ở 1 tờ báo v.v… 
 TÊN PHẦN MỀM DO NHÓM SINH VIÊN TỰ CHỌN Nguyen Thanh Chien - 2013 13 
ĐỒ ÁN (tt) 
 Nội dung báo cáo 
◦ Giới thiệu chương trình 
◦ Cơ sở dữ liệu 
◦ Chức năng (demo bằng phần mềm) 
Nguyen Thanh Chien - 2013 14 
Đề cương môn học 
 Phần 1: C# cơ bản – hướng đối tượng 
◦ Môi trường .NET Framework 
◦ Ngôn ngữ C#: kiểu dữ liệu, biến, phạm vi hoạt động, toán 
tử, câu lệnh, điều khiển 
 Namspace, lớp thư viện 
 Lớp, phương thức, thừa kế… 
 Mảng, struct, enum 
 Giao diện, thuộc tính, indexer 
 Nhóm đối tượng (Array list, collection) 
 Delegate & event 
15 
Đề cương môn học (2) 
 Phần 2: Lập trình ứng dụng trong môi trường 
Windows 
◦ Xây dựng ứng dụng Windows Form (WinForm) 
◦ Windows Controls 
◦ Menu, context-sensitive menu, tool strip, status strip. 
◦ Xây dựng ứng dụng SDI, MDI 
◦ Dialog, common dialog 
◦ User Control 
16 
Đề cương môn học (3) 
 Phần 3: Lập trình CSDL với ADO.NET 
◦ Tổng quan về ADO.NET 
 Cơ chế Disconnected… 
◦ Kết nối CSDL MS SQL Server, MS Access 
 Chuỗi kết nối, đối tượng thực thi truy vấn dữ liệu 
◦ Sử dụng DataSet để lưu trữ dữ liệu tách rời 
với data source 
◦ Sử dụng chức năng Data Configuration 
Wizard để kết nối dữ liệu nhanh chóng 
◦ Cơ chế data binding giữa control với data 
source 
17 
5 lời khuyên để đạt kết quả tốt 
18 
Làm việc chăm chỉ 
19 
Làm bài tập và thực hành nhiều 
20 
Tự làm các bài tập thực hành 
21 
Kiên nhẫn với máy tính 
22 
Nếu cần, nghỉ 1 tí… 
23 
Hỏi và đáp 
24 
Môi trường WINDOWS 
 Hệ điều hành 32/64 bit 
 Giao diện người dùng kiểu đồ họa 
(GUI – Graphical User Interface) 
 Đa nhiệm 
25 
Giao diện người dùng 
 kiểu đồ họa (GUI) 
 Visual Interface 
 WYSIWYG (viết tắt của What You See 
Is What You Get trong tiếng Anh) 
 Các ứng dụng Windows có giao diện 
thống nhất với cùng 1 dáng vẻ 
◦ 1 Cửa sổ hình chữ nhật 
◦ Thanh tiêu đề 
◦ Menu, hộp thoại, thanh trược 
Nguyen Thanh Chien - 2013 26 
Đa nhiệm 
 Nhiều chương trình có thể kích hoạt 
và chạy cùng lúc 
 Mỗi chương trình chiếm một phần tài 
nguyên của hệ thống và có bộ nhớ 
thường trú trong RAM 
Nguyen Thanh Chien - 2013 27 
Quản lý bộ nhớ 
 Mã chương trình và dữ liệu có thể 
dịch và chuyển vào bộ nhớ vật lý 
 Sử dụng thư viện liên kết động (.dll) 
Nguyen Thanh Chien - 2013 28 
Tư tưởng hướng đối tượng 
 Mỗi cửa sổ chính, cửa sổ con, các nút 
bấm v.v… đều được xem như là một 
đối tượng của lớp được đăng ký trước 
Nguyen Thanh Chien - 2013 29 
Các thành phần giao diện GUI 
Nguyen Thanh Chien - 2013 30 
Các thành phần giao diện GUI(tt) 
Nguyen Thanh Chien - 2013 31 
Graphical User Interface 
Nguyen Thanh Chien - 2013 32 
CÁC THÀNH PHẦN GUI 
Nguyen Thanh Chien - 2013 33 
CÁC THÀNH PHẦN GUI (tt) 
Nguyen Thanh Chien - 2013 34 
GUI CONTROLs 
Nguyen Thanh Chien - 2013 35 
GUI CONTROLs (tt) 
Nguyen Thanh Chien - 2013 36 
GUI CONTROLs (tt) 
Nguyen Thanh Chien - 2013 37 
HỎI & GIẢI ĐÁP 
Nguyen Thanh Chien - 2013 38