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