LẬP TRÌNH TRONG WINDOWS
G V : L Ê T H Ị N G Ọ C H Ạ N H
1
8/18/2015 Windows Programming
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. 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.
Giúp sinh viên làm quen với môi trường phát triển
tích hợp hiện đại & mạnh mẽ của MS là Visual Studio .NET 2005, 2008, 2010
8/18/2015 Windows Programming 2
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#: ADO.NET 8/18/2015
Windows Programming 3
ĐỀ 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
8/18/2015 Windows Programming 4
ĐỀ CƯƠNG MÔN HỌC
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 GDI+ (option) User Control
8/18/2015 Windows Programming 5
ĐỀ CƯƠNG MÔN HỌC
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
8/18/2015 Windows Programming 6
TÀI LIỆU THAM KHẢO
1. Microsoft Visual C# 2010 Step by Step 2. Programming Entity Framework, Oreilly, 2010 3. LINQ to SQL Tutorial, 2009 4. Programming C#, Jesse Liberty, O’Reilly, First Edition, 2001 5. C# bible, Jeff Ferguson et al, Wiley Publishing, 2002 6. Thinking in C#, Larry O’Brien, Bruce Eckel, Prentice Hall. 7. Presenting C#, Sams Publishing, 2002 8. C# Language Reference, Anders Hejlsberg and Scott Wiltamuth, Microsoft Corp.
8/18/2015 Windows Programming 7
ĐÁNH GIÁ MÔN HỌC
Thang điểm 10 theo tỉ lệ:
Chuyên cần : Giữa kỳ : Cuối kỳ (1 : 3 : 6)
Giữa kỳ: bài tập thực hành (cá nhân) Cuối kỳ: đồ án báo cáo và code demo (nhóm)
8/18/2015 Windows Programming 8
WINDOWS VÀ DOS
8/18/2015 Windows Programming 9
CÁC THÀNH PHẦN GIAO DIỆN ĐỒ HỌA - GUI
GUI : Graphics User Interface Các dạng GUI cơ bản
8/18/2015 Windows Programming 10
CÁC THÀNH PHẦN GIAO DIỆN ĐỒ HỌA - GUI
Định nghĩa:
• Là 1 vùng chữ nhật trên màn hình, dùng để hiển thị kết quả output, và nhận các input từ người dùng
=>Công việc đầu tiên của 1 ứng dụng GUI là tạo 1 cửa sổ làm việc Nguyên tắc quản lý:
• Mô hình phân cấp: mỗi cửa sổ đều có 1 cửa sổ cha (parent window), ngoại trừ cửa sổ nền Desktop
• Tại mỗi thời điểm, chỉ có 1 cửa sổ nhận input từ user
(Active/Focused window)
8/18/2015 Windows Programming 11
8/18/2015 Windows Programming 12
CÁC DẠNG CONTROL CHUẨN TRONG WINDOWS
8/18/2015 Windows Programming 13
CÁC DẠNG CONTROL CHUẨN TRONG WINDOWS
8/18/2015 Windows Programming 14
TỔNG QUAN VỀ .NET FRAMEWORK VÀ MÔI TRƯỜNG LẬP TRÌNH VISUAL STUDIO
8/18/2015 Windows Programming 15
NỘI DUNG
Giới thiệu .NET Framework Tổng quan ngôn ngữ C# Môi trường lập trình Visual Studio
8/18/2015 Windows Programming 16
.NET FRAMEWORK
Chương trình nền tảng cho
công nghệ.NET
Cung cấp tập hợp class library thường dùng.
Quản lý sự thực thi của các
chương trình .NET
8/18/2015 Windows Programming 17
.NET FRAMEWORK
Bộ khung phát triển ứng dụng; Bốn ngôn ngữ chính: C#, VB.NET, C++.NET,
Jscript.NET
Common Language Runtime – CLR (.NET
Runtime): tương tự máy ảo Java
Bộ thư viện Framework Class Library - FCL
8/18/2015 Windows Programming 18
THỰC THI MỘT CHƯƠNG TRÌNH .NET
8/18/2015 Windows Programming 19
COMMON LANGUAGE RUNTIME - COMPILATION
8/18/2015 Windows Programming 20
COMMON LANGUAGE RUNTIME (CLR) Runtime là một agent quản lý mã nguồn khi nó được
thực thi
Runtime cung cấp các dịch vụ: quản lý bộ nhớ, quản lý
tiểu trình, quản lý từ xa.
Runtime đảm bảo việc thực hiện được bảo mật và
mạnh mẽ
Mã nguồn mà đích tới là runtime (managed code),
ngược lại (unmanaged code)
CLR cung cấp môi trường thực thi chung cho các ngôn
ngữ trên nền .NET
8/18/2015 Windows Programming 21
COMMON LANGUAGE RUNTIME (CLR)
Bằng cách nào? 1. Khi biên dịch một ứng dụng .Net 2. Môi trường phát triển dịch mã nguồn thành mã tự quản (managed code) dưới dạng ngôn ngữ trung gian MSIL (hay IL) (Microsoft Intermediate Language) 3. Trình biên dịch phát sinh siêu dữ kiện megadata (thành viên đối tượng , kiểu , tham chiếu ,….) MSIL và megadata EXE file
8/18/2015 Windows Programming 22
COMMON LANGUAGE RUNTIME (CLR)
Khi thực thi mã ứng dụng (EXE file) 1. Tuỳ thuộc vào chỉ thị người dùng 2. Trình biên dịch tức thời JIT ( Just In Time ) của CLR cung cấp sẽ: • Chuyển đổi mã quản lý (managed code) thành mã máy (native code) • JIT cất giữ mã máy phát sinh vào bộ nhớ đệm cho các thao tác tương tự
8/18/2015 Windows Programming 23
FRAMEWORK CLASS LIBRARY - FCL
Là một phần trong bộ khung
.Net
Đóng gói những lớp Hướng đối
tượng được cung cấp
Giúp bạn dễ dàng tạo các ứng
dụng trên nền Window, trên nền Web
8/18/2015 Windows Programming 24
FRAMEWORK CLASS LIBRARY - FCL
Thư viện lớp của .Net Framework được tổ chức theo cấu trúc cây dựa trên khái niệm namespace (cấu trúc cây)
Có thể có nhiều lớp trùng tên nhau nhưng buộc phải
nằm ở các namespace khác nhau
Namespace : Microsoft.Csharp,
Microsoft.VisualBasic, Microsoft.Win32, System
Class: System.Array, System.Console, System.String,
System.Math v.v…
8/18/2015 Windows Programming 25
FRAMEWORK (BASE) CLASS LIBRARY
Thư viện nền tảng cho .NET Framework Các namespace cơ bản của FCL/BCL
8/18/2015 Windows Programming 26
CÁC LOẠI ỨNG DỤNG C#
Chương trình Console (TUI)
• Giao tiếp với người dùng bằng bàn phím • Không có giao diện đồ họa (GUI)
Chương trình Windows Form
• Giao tiếp với người dùng bằng bàn phím và mouse • Có giao diện đồ họa và xử lý sự kiện
Chương trình Web Form
• Kết hợp với ASP.NET, C# đóng vai trò xử lý bên dưới
(underlying code)
• Có giao diện đồ họa và xử lý sự kiện
8/18/2015 Windows Programming 27
ỨNG DỤNG CONSOLE
8/18/2015 Windows Programming 28
ỨNG DỤNG WINDOWS FORM VÀ WEB FORM
8/18/2015 Windows Programming 29
CẤU TRÚC MỘT ỨNG DỤNG
8/18/2015 Windows Programming 30
CẤU TRÚC MỘT PROJECT
8/18/2015 Windows Programming 31
CLASS VIEW
Xem cách tổ chức bên trong của 1 ứng dụng
8/18/2015 Windows Programming 32
WINDOW APPLICATION PROJECT
8/18/2015 Windows Programming 33
WINDOW APPLICATION PROJECT
Để xem thuộc tính của của
control chọn (Mở view Properties bằng cách Menu View \Properties Window) Nhấn chuột phải lên control (như Textbox, button, ..) và chọn Properties, khi đó màn hình Properties của control này sẽ hiện ra.
8/18/2015 Windows Programming 34
WINDOW APPLICATION PROJECT
Mỗi control sẽ được xác định bằng thuộc tính
Name. Thuộc tính này dùng để xác định control khi lập trình
Lưu ý: Cần đặt tên Name sao cho gợi nhớ
8/18/2015 Windows Programming 35
WINDOW APPLICATION PROJECT
Các thuộc tính chung: Name: Định danh cho control Text: Xuất dạng text thông tin control cho người
dùng
Sự kiện: Button có sự kiện Click, phát sinh khi
người dùng click vào button.
8/18/2015 Windows Programming 36
WINDOW APPLICATION PROJECT
Một window form có 2 view: Design View: Dùng để thiết kế giao diện Code View: Dùng để lập trình trên form (Xác định các control trên design view thông qua thuộc tính Name của từng control)
8/18/2015 Windows Programming 37
WINDOW APPLICATION PROJECT
Để xem view của From: Mở View
solution, nhấn chuột phải lên Form, chọn View Code hoặc View Designer.
8/18/2015 Windows Programming 38
WINDOW APPLICATION PROJECT
8/18/2015 Windows Programming 39
WINDOW APPLICATION PROJECT
Bắt sự kiện Click của nút button XuLy Nhấn chuột phải vào nút button Chọn Properties Nhấn vào nút biểu tượng sấm sét Chọn dòng sựkiện Click Double click vào dòng này (Khi đó VS sẽ phát sinh hàm bắt sự kiện Click của nút button)
8/18/2015 Windows Programming 40
WINDOW APPLICATION PROJECT
Hàm bắt sự kiện Click của button XuLy
8/18/2015 Windows Programming 41
WINDOW APPLICATION PROJECT
8/18/2015 Windows Programming 42
ỨNG DỤNG C# ĐẦU TIÊN
8/18/2015 Windows Programming 43
CẤU TRÚC CHƯƠNG TRÌNH C#
Phần chú thích (option) Phần khai báo dùng Namespace (option)
Phần định nghĩa namespace và lớp
8/18/2015 Windows Programming 44
CÂU LỆNH
Các câu lệnh được viết trong thân của phương
thức (ở đây là phương thức Main)
Thực hiện một công việc nào đó Kết thúc bởi dấu chấm phẩy (;)
8/18/2015 Windows Programming 45
CÁC CẤU TRÚC ĐIỀU KHIỂN TRONG C#
Cấu trúc lựa chọn theo tình huống Các cấu trúc lặp để thực thi lệnh theo chu kỳ Các cấu trúc lệnh “Jump”
8/18/2015 Windows Programming 46
CÁC CẤU TRÚC ĐIỀU KHIỂN TRONG C#
Cấu trúc lựa chọn thực hiện lệnh theo tình huống: If…; if … else; switch ….
8/18/2015 Windows Programming 47
Viết chương trình nhập vào 3 số nguyên, tìm số
lớn nhất trong 3 số vừa nhập
8/18/2015 Windows Programming 48
CÁC CẤU TRÚC ĐIỀU KHIỂN TRONG C#
8/18/2015 Windows Programming 49
CÁC CẤU TRÚC ĐIỀU KHIỂN TRONG C#
Viết chương trình nhập vào năm dương lịch (từ 1975 trở đi) và in ra các giải thể thao lớn được tổ chức trong năm đó. Biết rằng:
Các năm chia hết cho 4 có tổ chức Olympic và
các giải bóng Châu Âu
Các năm chia 4 dư 2 có tổ chức WorldCup Các năm lẻ và cũng là các năm chia 4 dư 1 hoặc
dư 3 thì tổ chức Sea Games
8/18/2015 Windows Programming 50
CÁC CẤU TRÚC ĐIỀU KHIỂN TRONG C#
Các cấu trúc lặp để thực thi lệnh theo chu kỳ: For …; do…while; while …; foreach …
8/18/2015 Windows Programming 51
CÁC CẤU TRÚC ĐIỀU KHIỂN TRONG C#
8/18/2015 Windows Programming 52
CÁC CẤU TRÚC ĐIỀU KHIỂN TRONG C#
Các cấu trúc lệnh “Jump”: break; continue,
return, goto, …
8/18/2015 Windows Programming 53
CÁC CẤU TRÚC ĐIỀU KHIỂN TRONG C#
8/18/2015 Windows Programming 54
CÁC CẤU TRÚC ĐIỀU KHIỂN TRONG C#
8/18/2015 Windows Programming 55
CÁC CẤU TRÚC ĐIỀU KHIỂN TRONG C#
8/18/2015 Windows Programming 56