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
56 trang |
Chia sẻ: thuychi16 | Lượt xem: 914 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Lập trình trong Windows, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
G V : L Ê T H Ị N G Ọ C H Ạ N H
LẬP TRÌNH TRONG WINDOWS
8/18/2015 Windows Programming
1
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 ; dowhile; 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