Lập trình trong Windows

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

pdf56 trang | Chia sẻ: thuychi16 | Lượt xem: 807 | Lượt tải: 1download
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