chapter 1 1 vi

38
1 1 TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM TRUNG TÂM TIN HỌC - Tek Ngành lập trình - CSDL

Upload: tan-duy

Post on 21-Jun-2015

218 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Chapter 1 1 vi

11

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TÂM TIN HỌC

-Tek Ngành lập trình - CSDL

Page 2: Chapter 1 1 vi

22

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TÂM TIN HỌC

-Tek Ngành lập trình - CSDL

Chương 1:Giới Thiệu Lập Trình Windows

Forms Sử Dụng C#

Page 3: Chapter 1 1 vi

33

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TÂM TIN HỌC

-Tek Ngành lập trình - CSDL

Giới Thiệu

• Lịch sử C#

• Ứng dụng Windows Forms

• Vòng lặp sự kiện Windows Forms

• Microsoft Visual Studio

• Tổng kết

Page 4: Chapter 1 1 vi

44

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TÂM TIN HỌC

-Tek Ngành lập trình - CSDL

Lịch sử C#• C# được phát triển bởi nhóm của Anders

Hejlsberg và Scott Wiltamuth tại Microsoft

• C# là ngôn ngữ lập trình hướng đối tượng và được cung cấp các thư viện xây dựng sẵn

Cho phép lập trình viên phát triển ứng dụng nhanh chóng

• C# và Visual Basic chia sẻ thư viện của Framework Class Library (FCL)

• C# thích hợp cho các yêu cầu phát triển ứng dụng quản lý

Đặc biệt với các ứng dụng trên nền Windows và Web

Page 5: Chapter 1 1 vi

55

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TÂM TIN HỌC

-Tek Ngành lập trình - CSDL

Đặc điểm của C#

• C# là ngôn ngữ hướng sự kiện và hỗ trợ lập trình trực quan

Chương trình được xây dựng sử dụng môi trường lập trình tích hợp (Integrated Development Environment - IDE)

• C# được chuẩn hóa bởi ECMA (European Computer Manufacturers Association) International

Page 6: Chapter 1 1 vi

66

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TÂM TIN HỌC

-Tek Ngành lập trình - CSDL

Lý do sử dụng C# ?• C# đơn giản

Loại bỏ các vấn đề của C++, Java (như: macro, template...)

• C# là ngôn ngữ hiện đại

• C# là ngôn ngữ lập trình hướng đối tượng

Hỗ trợ tính bao đóng, kế thừa và tính đa hình

• C# mạnh mẽ và linh hoạt

Sử dụng phát triển nhiều loại ứng dụng (xử lý văn bản, hình ảnh, bảng tính phục vụ cho quản lý….)

Page 7: Chapter 1 1 vi

77

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TÂM TIN HỌC

-Tek Ngành lập trình - CSDL

Ứng dụng Windows Forms

• Windows Forms là cách cơ bản để cung cấp các thành phần giao diện (GUI components) cho môi trường .NET Framework

• Windows Forms được xây dựng trên thư viện Windows API

• Windows Forms cơ bản bao gồm

Một Form là khung dùng hiển thị thông tin đến người dùng

Các Control được đặt trong form và được lập trình để đáp ứng sự kiện

Page 8: Chapter 1 1 vi

88

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TÂM TIN HỌC

-Tek Ngành lập trình - CSDL

Kiến trúc ứng dụng Windows Forms

Page 9: Chapter 1 1 vi

99

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TÂM TIN HỌC

-Tek Ngành lập trình - CSDL

Các thành phần Windows Forms

• Form Một cửa sổ hiển thị thông tin đến người dùng

Kế thừa từ lớp Form trong namespace System.Windows.Forms

• Control Định nghĩa các chức năng của form

• Component Các control không hiển thị cung cấp thêm nhiều chức năng

cho ứng dụng các windows forms

• Dialog box Sử dụng dialog box để giao tiếp với người dùng để thu thập

thông tin

Page 10: Chapter 1 1 vi

1010

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TÂM TIN HỌC

-Tek Ngành lập trình - CSDL

Ví dụ Windows Form

Page 11: Chapter 1 1 vi

1111

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TÂM TIN HỌC

-Tek Ngành lập trình - CSDL

Cách phát triển Windows Forms

• Bốn bước:

Xây dựng một class kế thừa lớp Form

Tạo một form bằng cách khởi tạo một thực thể của class đó

• Cấu hình form bằng cách thiết lập các thuộc tính tương ứng

Thêm control vào form

• Xử lý sự kiện nếu cần thiết

Hiển thị form

Page 12: Chapter 1 1 vi

1212

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TÂM TIN HỌC

-Tek Ngành lập trình - CSDL

Kh i t o và ở ạc u hình ấ

Form

Hi n thể ị

K th a l p Formế ừ ớ

Biên d chị : csc /r:System.Windows.Forms.dll /t:winexe FormApp.cs

Page 13: Chapter 1 1 vi

1313

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TÂM TIN HỌC

-Tek Ngành lập trình - CSDL

Tùy biến Form – Caption Bar

Page 14: Chapter 1 1 vi

1414

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TÂM TIN HỌC

-Tek Ngành lập trình - CSDL

Tùy biến Form – Location

Setting position of Form

Page 15: Chapter 1 1 vi

1515

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TÂM TIN HỌC

-Tek Ngành lập trình - CSDL

Thêm Control vào Form

Kh i t o Controlở ạ

Page 16: Chapter 1 1 vi

1616

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TÂM TIN HỌC

-Tek Ngành lập trình - CSDL

Thêm control vào Form

Page 17: Chapter 1 1 vi

1717

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TÂM TIN HỌC

-Tek Ngành lập trình - CSDL

Hệ tọa độ trong Form

Page 18: Chapter 1 1 vi

1818

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TÂM TIN HỌC

-Tek Ngành lập trình - CSDL

Windows Forms Layout

• Định nghĩa Layout Cách các control được sắp xếp và co giãn khi hiển thị trên form

• Scale Control Sử dụng thuộc tính AutoScaleMode để xác định cơ chế co giãn tự

động của các control

• Sắp xếp các Control Anchoring

Docking

Splitting

Grouping

• Tùy biến Layout

Tìm hi u ể ởch ng sauươ

Page 19: Chapter 1 1 vi

1919

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TÂM TIN HỌC

-Tek Ngành lập trình - CSDL

AutoScaleMode Property

• Cho biết cơ chế co giãn tự động của control

• Co giãn theo chế độ Font nếu:

Control hoặc form co giãn theo kích thước của font trong hệ điều hành

Kích thước tuyệt đối của control hoặc form không có ảnh hưởng

• Co giãn theo DPI (dots per inch) nếu:

Kích cỡ của control hay form tương đối so với màn hình

Ví dụ, hiển thị một chart hay hình ảnh sao cho chúng luôn chiếm một phần màn hình cố định

Page 20: Chapter 1 1 vi

2020

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TÂM TIN HỌC

-Tek Ngành lập trình - CSDL

Anchoring• Khoảng cách giữa control và form được giữ cố

định

Cơ chế này gọi là anchoring

Scale

Top, Left

Page 21: Chapter 1 1 vi

2121

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TÂM TIN HỌC

-Tek Ngành lập trình - CSDL

Giá trị AnchorStyles

enum AnchorStyles {

None,

Left, // default

Top, // default

Bottom,

Right

}

Page 22: Chapter 1 1 vi

2222

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TÂM TIN HỌC

-Tek Ngành lập trình - CSDL

Docking

• Docking là cách cố định vị trí của control

Page 23: Chapter 1 1 vi

2323

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TÂM TIN HỌC

-Tek Ngành lập trình - CSDL

Giá trị DockStyle

enum DockStyle {

None, // default

Left,

Top,

Right,

Bottom,

Fill

}

Page 24: Chapter 1 1 vi

2424

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TÂM TIN HỌC

-Tek Ngành lập trình - CSDL

Sự kiện

• Một sự kiện là một thông điệp(message) được gởi đến ứng dụng khi có một điều gì xảy ra

Thông điệp này chứa thông tin về sự kiện

• Một phương thức có cùng chữ ký với sự kiện có thể xử lý sự kiện đó

Nghĩa là phương thức này được thực hiện khi sự kiện xảy ra

• Control và form có thể phát sinh nhiều loại sự kiện đáp ứng cho người dùng

Page 25: Chapter 1 1 vi

2525

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TÂM TIN HỌC

-Tek Ngành lập trình - CSDL

Vòng lặp sự kiện Windows Forms

Anything happen

Display Form

Kick off Event

Yes

No Event Loop

Page 26: Chapter 1 1 vi

2626

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TÂM TIN HỌC

-Tek Ngành lập trình - CSDL

Thêm Control với sự kiện

Page 27: Chapter 1 1 vi

2727

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TÂM TIN HỌC

-Tek Ngành lập trình - CSDL

Button is clicked

Page 28: Chapter 1 1 vi

2828

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TÂM TIN HỌC

-Tek Ngành lập trình - CSDL

Page 29: Chapter 1 1 vi

2929

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TÂM TIN HỌC

-Tek Ngành lập trình - CSDL

Phân loại Windows Forms Controls theo chức năng

Page 30: Chapter 1 1 vi

3030

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TÂM TIN HỌC

-Tek Ngành lập trình - CSDL

IDE

• IDE (Integrated Development Environment) sẽ giúp lập trình viên xây dựng ứng dụng:

Nhanh chóng

Nhiều chức năng

Giảm tối đa lỗi

Rapid Application Development (RAD)

Page 31: Chapter 1 1 vi

3131

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TÂM TIN HỌC

-Tek Ngành lập trình - CSDL

Microsoft Visual Studio• IDE được xây dựng bởi Microsoft

Page 32: Chapter 1 1 vi

3232

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TÂM TIN HỌC

-Tek Ngành lập trình - CSDL

Các cửa sổ thông dụng

Toolbox

Form DesignProperties

Page 33: Chapter 1 1 vi

3333

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TÂM TIN HỌC

-Tek Ngành lập trình - CSDL

Tổng kết

• C# là ngôn ngữ mới

• C# được sử dụng phát triên các ứng dụng mạnh mẽ

• Các thành phần của Windows Forms

• Sử dụng Visual Studio để giảm chi phí và lỗi

Page 34: Chapter 1 1 vi

3434

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TÂM TIN HỌC

-Tek Ngành lập trình - CSDL

Delegate• Sometimes, it is beneficial for objects to

pass methods as arguments to other methods

• C# does not allow the passing of method references directly as arguments to other methods

• C# provide delegates, which are classes that encapsulate sets of references to methods

A delegate object that contains method references can be passed to another method

Page 35: Chapter 1 1 vi

3535

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TÂM TIN HỌC

-Tek Ngành lập trình - CSDL

Delegate (cont.)

• A delegate that contains a single method is known as a singlecast delegate and is created or derived from class Delegate

• Delegates that contain multiple methods are multicast delegates and are created or derived from class MulticastDelegate

Page 36: Chapter 1 1 vi

3636

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TÂM TIN HỌC

-Tek Ngành lập trình - CSDL

encapsulate methods that take a string as an argument and returns void

Assign delegate to method

Page 37: Chapter 1 1 vi

3737

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TÂM TIN HỌC

-Tek Ngành lập trình - CSDL

delegate as parameter of method

Page 38: Chapter 1 1 vi

3838

TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM

TRUNG TÂM TIN HỌC

-Tek Ngành lập trình - CSDL

Delegate for more than one method