1. Trang chủ
  2. » Luận Văn - Báo Cáo

Tìm hiểu công nghệ .Net Compact Framework

68 527 2
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Tìm hiểu công nghệ .Net Compact Framework
Trường học Trường Đại Học
Chuyên ngành Công Nghệ Thông Tin
Thể loại tiểu luận
Năm xuất bản 2008
Thành phố Hà Nội
Định dạng
Số trang 68
Dung lượng 1,87 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Net Compact Framework hỗ trợ cho các thiết bị có một số đặc điểm dưới đây: • Có một CPU có khả năng xử lý thông tin tốt • Có Ram để lưu trữ chương trình và dữ liệu • Có bộ nhớ ngoài

Trang 1

Mục Lục

Chương 1 Công nghệ Net Compact Framework

1.1 Giới thiệu Net Compact Framework

1.2 Kiến trúc của Net Compact Framework

Chương 2 Phát triển ứng dụng với Windown Form

2.1 Các điều khiển không được hỗ trợ trong Net Compact Framework

2.2 Các hàm không được hỗ trợ trong Net Compact Framework

2.3 Thiết kế Form với Visual Studio Net

2.4 Sự khác nhau giữa các nền tảng Windows Form

2.5 Làm việc với điều khiển Form

2.6 Điều khiển Button

2.7 Điều khiển Textbox

2.8 Điều khiển Label

2.9 Điều khiển RadioButton

2.10 Điều khiển CheckBox

2.11 Điều khiển ComboBox

2.12 Điều khiển ListBox

2.13 Các điều khiển khác

Chương 3 Kết nối cơ sở dữ liệu trong Net Compact Framework

3.1 ADO.Net trên Net Compact Framework

3.2 Lập trình với Microsoft SQL Server CE

Trang 2

Chương 1 Công nghệ Net Compact Framework

1.1 Giới thiệu Net Compact Framework

Như chúng ta đã biết, trước đây việc phát triển ứng dụng cho các thiết bị cầm tayđòi hỏi các kĩ năng lập trình đặc biệt, tài nguyên làm việc cho các thiết bị luôn bị hạn chế

và đòi hỏi các kĩ năng thiết kế đặc biệt để xây dựng một ứng dụng tốt mà có thể làm việctrên một màn hình có kích thước bé hơn rất nhiều so với kích thuớc của desktop Chính vìvậy những người phát triển ứng dụng cho các thiết bị cầm tay gặp rất nhiều khó khăn Tuynhiên, ngày nay với Net Compact Framework và Smart Device Extension(SDE) được tíchhợp sẵn trong Visual Studio Net, Microsoft đã cung cấp những kĩ năng phát triển phầnmềm mới phù hợp cho những người phát triển phần mềm trên desktop và trên mobile.Những người đã có kĩ năng làm việc tốt với Net Framework đầy đủ trong Visual Studio.Net có thể dễ dàng phát triển ứng dụng cho các thiết bị cầm tay bằng cách sử dụng môitrường làm việc tương tự, các ngôn ngữ lập trình tương tự và các lớp thư viện là tập concủa thư viện đầy đủ

1.1.1 Sơ lược về lịch sử của các thiết bị Smart Mobile Computing

.Net Compact Framework hỗ trợ cho các thiết bị có một số đặc điểm dưới đây:

• Có một CPU có khả năng xử lý thông tin tốt

• Có Ram để lưu trữ chương trình và dữ liệu

• Có bộ nhớ ngoài

Các đặc điểm trên được xem như đặc điểm của một thiết bị thông minh Tuy nhiên, đâykhông phải là một định nghĩa về một thiết bị thông minh Do đó cũng có người phát biểurằng một thiết bị thông minh là thiết bị có kích thước màn hình nhỏ, có khả năng kết nốivới mạng máy tính và chạy các chương trình Một số mobile phone thực hiện gửi thôngđiệp và có khả năng truy cập vào nội dung Web thông qua Wap hoặc i-mode, nhưng cácthiết bị mobile này ít hoặc không hỗ trợ chạy các ứng dụng khách hàng Các thiết bị smartmobile mà chạy trên nền tảng Net Compact Framework có khả năng đó hơn so với cácthiết bị mobile phone

a Sự khởi đầu của máy tính xách tay

Máy tính xách tay đầu tiên là Osbone 1, được giới thiệu tại West Coast Computer Fair vào tháng 4 năm 1981 Osbone có màn hình CRT nhỏ kích thước 5-inch, màn hình này chỉ hiển thị được 52 ký tự nhưng nó có khả năng di chuyển sang trái và phải để hiển thị các dòng văn bản dài(Hình 1.1) Osbone cũng có thể chạy được một số phần mềm như Basic, WordStar, SuperCalc

Trang 3

Hình 1.1 Máy tính xách tay đầu tiên

Giá của mỗi chiếc Osbone1 là $1,795 và nó được bán với tốc độ 10.000 chiếc mộttháng Đến năm 1982 máy Compact ra dời, nó nặng 28 pounds, sử dụng bộ xử lý 8088,Ram 128 kb, có một đĩa mề 5.25 inch Nó được bán với giá $3.000

Một vài năm sau xuất hiện một số máy xách tay khác như Epson -HX 20, Commodore

SX-64, Radio Shack TRS-80 Model 100 Trong đó Radio Shack TRS-80 được xem là máynotebook đầu tiên

b Các phát minh của PSION

Tại cuộc họp vào năm 1984, công ty công nghệ Psion của Mỹ đã định nghĩa vềmáy Personal digital assistant (PDA) Họ đã cho ra đời Psion1 Psion1 dựa trên công nghệ8-bit, có màn hình hiển thị LCD 16 ký tự, một clock/calendar, một có sở dữ liệu với mộtchức năng tìm kiếm

Psion1 được nâng cấp lên Psion II và đầu những năm 1990, 500.000 chiếc Psion II

đã được sản xuất Năm 1993, Series 3a ra đời, phá vỡ khoảng cách về địa lý với khả năngkết nối với máy tính, truyền, biến đổi và đồng bộ dữ liệu giữa 2 môi trường của nó.Khoảng 2 năm sau đó, vị trí của Psion trên thị trường PDA đã được khẳng định Năm

1997, Psion cho ra đời Series 3c và Series 5 32-bit

c Phát triển thị trường PDA

Tên Personal Digital Assistant được đặt đầu tiên bởi Apple CEO John Sculleytrong một bài phát biểu tại Winter Consumer Show vào năm 1992 Năm 1993 Apple’sNewton MessagePad ra đời (hình 1.2) Tính chất đổi mới của thiết bị này là sử dụng bút đểnhập thông tin vào và thừa nhận các chữ viết tay, có thể quản lý thông tin cá nhân (PIM) và

có khả năng liên lạc Apple’s Newton chỉ thành công trong một thời gian vì ngay sau đóxuất hiện sự cạnh tranh của một số công ty như Amstrad PenPad, the Casio and TandyZoomer, the Sony MagicLink, and the IBM/Bell South Simon

Trang 4

Hình 1.2 Máy Newton Apple

d Microsoft và các thiết bị cầm tay

Cùng với sự phát triển của thị trường PDA, Microsoft cũng đã cho ra đời các hệ hệ

điều hành như Window CE (1996) và Pocket PC 2000, vWindow Mobile 2005 Hiện naytrên thị trường có rất nhiều sản phẩm sử dụng hệ điều hành Window CE, Pocket PC 2000

và Window Mobile 2005 của Microsoft như:

O 2: Đây là nhãn hiệu nổi tiếng nhất trong dòng Pocket PC trên thị trường ViệtNam Một số sản phẩm loại này đang có mặt tại Việt Nam như là O2 XDA, O2 XDAII, O2

XDAII mini, O2 XDAIIs, O2 XDAIIi Những sản phẩm loại này được hỗ trợ rất tốt trongviệc nâng cấp hệ điều hành Chúng có thể dễ dàng nâng cấp từ hệ điều hành nguyên bảnlên Windows Mobile 2005

HP iPq hx 4700: Đây là sản phẩm của hãng Hewlett Packard Sản phẩm này nổi

bật với hệ điều hành Windows Mobile 2003 SE, bộ vi xử lý XScale thế hệ thứ hai của Intel

và màn hình VGA rộng Ngoài ra màn hình còn được hỗ trợ giao diện 3D của hệ điều hànhWindows CE 4.21

Trang 5

Asus P505: Là sản phẩm đầu tiên của Asus trên thị trường Pocket PC Sử dụng hệ

điều hành Windows Mobile 2003 Second Edition, P505 hoạt động trên 3 băng tần GSM900/1.800/1.900 MHz và được hỗ trợ GPRS Class B Asus đã thiết kế cho máy một bànphím bật (flip) có nút điều khiển 2 chiều lên xuống, rất thuận tiện cho việc sử dụng các ứngdụng của Pocket PC

Axim X51v: Nét nổi bật của sản phẩm này là chạy hệ điều hành Windows Mobile

5.0, nhiều tính năng tiện dụng, màn hình chất lượng cao Máy có bộ nhớ trong lớn (ROM

256 MB), 2 khe cắm thẻ nhớ và jack cắm tai nghe tiêu chuẩn 3,5 mm

Trang 6

Windows Mobile 5 nên thiết bị cũng được cài đặt sẵn các ứng dụng văn phòng như: MSWord, Excel, Power Point, Internet Explorer và Outlook 2002.

Ngoài ra còn có một số sản phẩm khác như Mio 168RS sử dụng hệ điều hànhWindows Mobile 2003 Second Edition, Atom Exec của hãng O2 sử dụng hệ điều hànhWindows Mobile 5.0, Siemens SX66 sử dụng hệ điều hành Windows Mobile 2003 SecondEdition v…v

1.1.2 Những nét mới trong Net Compact Framework

.NET Compact Framework là nền tảng dữ liệu cho các ứng dụng Visual Studio

.NET được phát triễn cho các thiết bị di động sử dụng hệ điều hành Windows CE hoặc Windows Mobile Nó là phiên bản nhỏ của phiên bản đầy đủ Net Framework, nó bao gồm một tập con các lớp thư viện cơ bản của Net Framework và một số lớp thư viện mới đượcthiết kế đặc biệt để sử dụng cho các thiết bị mobile Ngoài ra Net Compact Framework còn có sự bổ sung mới cho CLR để cho phép các ứng dụng có thể chạy tốt trên các thiết bị nhỏ mà bị hạn chế về cả năng lượng của bộ nhớ và CPU

Các ngôn ngữ lập trình truyền thống như C, C++, Pascal, v v, thường sử dụng mộttrình biên dịch để chuyển trực tiếp mã nguồn sang mã máy hiểu được Với cách làm này,đòi hỏi những người lập trình phải tập trung vào việc quản lý các chi tiết ở mức thấp nhưviệc phân hoạch bộ nhớ và việc tương tác với các mã thư viện bên ngoài Các mã thư việnnày bao gồm cả các file DLL của hệ điều hành Window Các chương trình có thể tương tácvới hệ điều hành bằng cách gọi trực tiếp đến API của hệ điều hành hoặc bằng cách sử dụngmột trong các hàm thư viện như MFC, Borlands’OWL

Khả năng di chuyển giữa các nền tảng bằng cách sử dụng native code thường khókhăn bởi vì API của các hệ điều hành về cơ bản thường khác nhau Thậm chí việc tươngtác giữa các thành phần trong các ngôn ngữ lập trình khác nhau trên cùng một hệ điều hànhcũng gặp khó khăn vì các ngôn ngữ lập trình khác nhau sử cách biểu diễn nhị phân khácnhau cho các cấu trúc dữ liệu Tóm lại, sự tương tác là khó khăn giữa các hệ điều hành,giữa các kiểu CPU trên cùng một hệ điều hành và giữa các ngôn ngữ lập trình khác nhauchạy trên cùng một máy

Trang 7

Khi Visual Studio 7.1 ra đời cùng với Net Compact FrameWork tất cả các vấn đềkhó khăn trên đã được giải quyết Visual Studio 7.1 với Smart Device Extensions và nhữngđặc điểm quan trọng dưới đây đã giúp những người phát triển các ứng dụng cho các thiết

bị chạy trên các hệ điều hành Window CE và Pocket PC nhanh hơn và dễ dàng hơn so vớitrước đây:

• Hai ngôn ngữ lập trình C# và Visual Basic Net được hỗ trợ bởi Smart DeviceExtension có khả năng tương tác giữa các thành phần rất dễ dàng bởi vì cả hai đềuđược biên dịch sang cùng một định dạng bytecode và đều cung cấp sự truy cấp đếncác đối tượng dữ liệu bên trong Net Compact Framework

• Một số ngôn ngữ mà chạy trên Net Compact Framework có thể trao đổi các đốitượng từ Net Compact Framework với các ngôn ngữ khác mà cũng có sự hỗ trợcủa Net Compact Framework

• Trình biên dịch cho các ứng dụng là tương tự nhau, không quan tâm đến kiến trúc

xử lý bên dưới Những người lập trình có thể xây dựng một ứng dụng và triển khai

nó trên phần cứng chạy hệ điều hành Pocket PC hoặc Window CE

• Net Compact Framework cung cấp một định dạng chung cho API để những ngườilập trình có thể viết ứng dụng trên nhiều ngôn ngữ khác nhau được hỗ trợ bởi NetCompact Framework

• Net Compact Framework cũng hỗ trợ phát triển Window Forms giúp nhanh chóngđưa ra giao diện người dùng cho ứng dụng

• Net Compact Framework cung cấp các lớp truy cập dữ liệu, các lớp thao tác XML,tập các kiểu dữ liệu cơ sỏ, cho phép dễ dàng sử dụng sự hỗ trợ của networking vànhiều hơn nữa

• Net Compact Framework và Common language runtime (Ngôn ngữ thực thichung) cung cấp khả năng thu gom rác

• Net Compact Framework cung cấp kiểu chuỗi mà không cần phải hiểu sự phức tạpcủa việc tạo thành các chuỗi trực tiếp từ hệ điều hành

• Nhiều phiên bản của Net Compact Framework có thể hoạt động cùng nhau Cácứng dụng sẽ hướng tới các phiên bản mà chúng biết là chúng tương thích với phiênbản đó

1.1.3 Smart Device Extension và Net Compact Framework

a Yêu cầu hệ thống

Smart Device Extensions là môi trường phát triển tích hợp (IDE) mà các nhà pháttriển nhằm vào NET Compact Framework Nó là một thành phần củaVisual Studio NETversion 7.1 hoặc mới hơn

Trang 8

Lĩnh vực Yêu cầu

Operating system and

RAM

Windows 2000 Professional; 96MB RAM, 128MB

đề nghị Windows 2000 Server; 192MB RAM,256MB đề nghị Windows XP Professional; 192MBRAM, 256MB đề nghị Windows XP Home; 96MBRAM, 256MB đề nghị Windows NET Server 2003;192MB RAM, 256MB đề nghị

Hard disk space Ít nhất 900MB trên ổ chứa hệ điều hành và khoảng

4.1GB để cài Micorsoft Visual Studio Net Processor speed Tối thiểu Pentium II 450MHz hoặc tương đương;

Pentium III 600MHz hoặc lớn hơn Device connectivity ActiveSync 3.5 hoặc mới hơn

Bảng 1.1 yêu cầu hệ thống cho Visual Studio NET 2005

b Sử dụng Smart Device Extension trong quá trình phát triển

Cách dễ nhất để phát triển NET Compact Framework là sử dụng Smart DeviceExtensions trong Visual Studio NET 7.1 Nó đơn giản là mở rộng của Visual Studio 7.1,Smart Device Extensions đưa ra các kiểu tạo ứng dụng, cho phép chúng ta tập chung vàocác thiết bị sử dụng Windows CE hỗ trợ NET Compact Framework, như là Pocket PC.Điều này có nghĩa là sử dụng Smart Device Extensions để phát triển các ứng dụng trênWindows CE như phát triển các ứng dụng trên Windows 2000 or XP

Tạo ứng dụng cho các thiết bị Pocket PC

Chúng ta sẽ tạo một ứng dụng đơn giản “Hello World” bằng ngôn ngữ C#

Bước 1: Khi chúng ta chạy Visual Studio NET lần đâu, sẽ hiển thị Start Page, như hình

1.3 Để tạo ứng dụng mới, bấm vào nút có nhãn New Project gần phía dưới của màn hình.Hoặc vào menu File -> New -> Project hoặc sử dụng Ctrl+ Shift +N

Trang 9

Hình 1.3 Start Page được hiển thị khi chạy Visual Studio NET.

Bước 2: Sau khi chọn New Project, một hộp thoại xuất hiện cho phép chúng ta chọn kiểu

dự án, nền tảng và mẫu ứng dụng Lựa chọn như hình 1.4 Điền tên dự án vào mục Name,

và nơi chứa dự án vào mục Localtion Trong hộp thoại này có 2 phần:

- "Project types": Phần này cho phép chúng ta chọn kiểu thiết bị mà chúng ta muốn pháttriển trên nó Chúng ta sẽ chọn nền tảng Pocket PC, điều này có nghĩa ứng dụng củachúng ta sẽ chạy trên tất cả các thiết bị hỗ trợ hệ điều hành Pocket PC

- "Templates": Device Application, Class Library, Control Library và Empty Project.Chúng ta sẽ chọn Device Application Kiểu dự án này thiết lập form chính tự động và cungcấp môi trường thiết kế đồ họa giúp dễ dàng thêm các điều khiển vào ứng dụng

Trang 10

Hình 1.4 Hộp thoại tạo một Visual C# Smart Device Application

Trang 11

Bước 3 Sau khi lựa chọn xong ta nhấn vào nút OK ta được màn hình như hình 1.5

Hình 1.5 Thiết kế Form xuất hiện sau khi dự án được tạo Bước 4 Bên trái của phần thiết kế Form, là nhãn Toolbox Bấm vào đó đưa đến cho chúng

ta hộp công cụ Toolbox, như hình 1.6

Trang 12

Hình 1.6 Hộp công cụ Toolbox cho dự án Smart Device Application Bước 5: Tất cả các điều khiển trong hộp công cụ đều có thể sử dụng trong các dự án NET

Compact Framework Kéo một số điều khiển vào Forms như hình 1.7

Trang 13

Hình 1.7 Sau khi kéo một số điều khiển vào Forms.

Bước 7: Bấm đúp vào nút có nhãn button1, IDE đưa đến phần soạn thảo mã nguồn và con

trỏ sẽ nhấp nháy ở trong phương thức button1_Click Chúng ta sẽ đưa vào một số dònglệnh như hình 1.8

Trang 14

Hình 1.8 Visual Studio hiển thị mã lệnh khi nút trong Form được bấm đúp

Bước 8: Bây giờ chúng ta có thể biên dịch và triển khai trên thiết bị Để triển khai trên

thiết bị và chạy ứng dụng, chọn Debug, Start Without Debugging Trước tiên Visual Studiobiên dịch mã nguồn và đưa cho chúng ta hộp thoại Deploy SmartDeviceApplication nhưhình 1.9

Trang 15

Hình 1.9 Trước khi triển khai ứng dụng trên thiết bị, Visual Studio

đưa ra hộp thoại

Bước 9: Để chạy thử ứng dụng trên máy tính Desktop, chúng ta chọn Pocket PC 2002

Emulator Nếu muốn chạy thử trên thiết bị thực, chúng ta chọn Pocket PC Device Phảiđảm bảo rằng thiết bị đã được kết nối thông quan đường ActiveSync trước khi triển khaiứng dụng trên thiết bị Sau đó chọn Deploy

Bước 10: Visual Studio cài đặt NET Compact Framework và chạy ứng dụng Nếu chúng

ta bấm vào nút Button1, chúng ta nhận được thông báo “Hello World” như hình 1.10

Trang 16

Hình 1.10 Thiết bị emulator chạy ứng dụng hello world

1.1.4 Các nền tảng của Net Compact Framework

Phiên bản đầu tiên của Net Compact Framework hỗ trợ cho Windows-powered Pocket PCs và các thiết bị chạy hệ điều hành Windows CE.Net

a Các nền tảng mà Net Compact Framework hỗ trợ

Phiên bản 1 của Net Compact Framework hỗ trợ nền tảng sau của Microft:

- Pocket PC 2000: Các thiết bị này có thể mua được từ một số hãng sản xuất và nó

sử dụng các bộ xử lý ARM, MIPS, SH3 hoặc SH4 .Net Compact Framework được

hỗ trợ trên tất cả các bộ xử lý đó

Trang 17

- Pocket PC 2002 : Pocket PC 2002 ra đời từ sự nâng cấp hệ điều hành Pocket PC

mà sử dụng bộ xử lý ARM

- Pocket PC 2002 phone edition: Đây là hệ điều hành Pocket PC 2002 với sự thêmvào việc hỗ trợ cho một số chức năng bên nghành điện thoại

- Window CE.Net 4.1 và các phiên bản sau đó

b Các nền tảng mà Net Compact Framework không hỗ trợ

.Net Compact Framework không được hỗ trợ trên một số nền tảng sau củaMicrosoft:

- Các phiên bản 3.0 và sớm hơn của Windows CE: Pocket PC 2000 và Pocket PC

2002 được xây dựng dựa trên Window CE 3.0 Tuy nhiên chúng chỉ là dẫn xuất từWindow CE 3.0 nên vẫn được hỗ trợ

- Handheld PC 2000 và các phiên bản trước đó: Các thiết bị Handheld PC có mànhình lớn hơn các thiết bị Pocket PC nhưng có bàn phím tiện lợi hơn và nguồn nănglượng lâu hơn Handheld PC 2000 cũng được xây dựng trên Window CE 3.0 nhưng

nó và các phiên bản sớm hơn không được hỗ trợ bởi Net Compact Framework

- Microsoft Smartphone 2002: Smartphone 2002 được xây dựng dựa trên nền tảng là

hệ điều hành Pocket PC 2002, nó có thể chạy được trên các thiết bị có kích thướcnhỏ hơn và màn hình có tính cảm ứng so với các thiết bị chạy trên Pocket PC

1.2 Kiến trúc của Net Compact Framework

.Net Compact Framework không tồn tại đơn lẻ, nó tồn tại dựa trên 3 tầng côngnghệ: Common Language Runtime, trình biên dịch Just-in-time và hệ điều hành Window

CE Hình 1.1 là sơ đồ kiến trúc mô tả một ứng dụng tương tác với .Net CompactFramework và các tầng bên dưới như thế nào:

Trang 18

Hình 2.1: Sơ đồ mô tả kiến trúc Net Compact Framework

Trong sơ đồ trên, tầng đầu tiên chính là các thành phần phần cứng bao gồm cóCPU, bộ nhớ , video, màn hình, thành phần kết nối mạng, v v

Tất cả các thành phần phần cứng đó được điều khiển bởi tầng thứ 2, hệ điều hành WindowCE

1.2.1 Common Language Runtime (ngôn ngữ thực thi chung)

Tầng bên trên hệ điều hành Window CE là Common Language Runtiem hay còngọi là CLR Common Language Runtime (CLR) là trung tâm điểm của NET Framework.Đây là một "hầm máy" để chạy các tính nǎng của NET Nó được xem là nền tảng để quản

lý các ứng dụng đích Các ứng dụng “native” là các ứng dụng được biên dịch trực tiếp sang

Trang 19

ngôn ngữ máy mà CPU hiểu được Ngược lại, các ứng dụng “managed” là các ứng dụngđược biên dịch sang ngôn ngữ trung gian bytecode hay còn gọi là mã IL.

Mã được biên dịch sang mã IL được gọi là mã “managed” Một yếu tố quan trọngnhất của mã managed là nó không được thực thi trực tiếp bởi CPU mà nó phải chuyển sang

mã native đầu tiên để được thực thi

Công việc của CLR là thực thi mã managed Để làm được việc này, mã managed phảiđược chuyển sang mã native CLR thực hiện 3 bước cơ bản sau để chuyển từ mã managedsang mã native và thực thi nó:

IJIT là trình biên dịch sẵn có với mọi CPU mà được hỗ trợ bởi Net CompactFramework: ARM, MIPS, SHx, và x86 Trình biên dịch IJIT biên dịch mã managed sang

mã máy nhanh hơn trình biên dịch SJIT nhưng mã máy được biên dịch ra không tốt bằngvới mã được sinh ra từ trình biên dịch SJIT

SJIT là trình biên dịch chỉ có sẵn đối với bộ xử lý ARM Các thiết bị chạy trên nền tảngPocket PC thường sử dụng bộ xử lý ARM

Trang 20

Chương 2 Phát triển ứng dụng với Windown Form

Trong chương này chúng ta sẽ tìm hiểu về:

 Các điều khiển không được hỗ trợ trong Net Compact Framework

 Thiết kế Form với Visual Studio Net

 Làm việc với điều khiển Form

 Làm việc với các điều khiển Windows Forms.Net Compact Framework cung cấp rất nhiều các hàm để cho phép chúng ta xâydựng giao diện đồ họa người dùng Tuy nhiên các hàm này là tập con của các hàm đượccung cấp bởi Net Framework Trước khi chúng ta đi vào tìm hiểu các điều khiển được hỗtrợ trong Net Compact Framework, chúng ta sẽ đi tìm hiều những điều khiển không được

hỗ trợ trong nó

2.1 Các điều khiển không được hỗ trợ trong Net Compact Framework

.Net Compact Framework cung cấp một tập con các điều khiển sẵn có trong NetFramework

Dưới đây là danh sách bao gồm các điều khiển không được hỗ trợ trong NetCompact Framework:

Trang 21

2.2 Các hàm không được hỗ trợ trong Net Compact Framework

Dưới đây là danh sách các hàm không được hỗ trợ trong Net Compact Framework:

• Drag and drop

• All printing capabilities

• Hosting ActiveX controls

2.3 Thiết kế Form với Visual Studio Net

Visual Studio Net cho phép chúng ta có thể tạo giao diện người dùng cho ứngdụng bằng cách kéo thả các điều khiển lên bề mặt form cần thiết kế Khi một điều khiển đãnằm trên form, chúng ta có thể xác định vị trị của điều khiển trên form một cách trực quan,xác định tập các thuộc tính của các điều khiển thông qua cửa sổ Propertise và tạo các sựkiện cho các điều khiển

2.3.1 Cửa sổ thiết kế Form

Khi chúng ta tạo một dự án Smart Device Extension (SDE), là một ứng dụng cửa

sổ, Visual Studio NET sẽ mở dự án trong phần hiển thị thiết kế Chúng ta có thể lựa chọnthiết kế từ menu View để đưa vào khung nhìn của dự án Hình 3.1 đưa đến cho chúng taForm Designer của dự án SDE Pocket PC trong khung nhìn Designer

Chú ý thành phần mainMenu1 ở phía dưới của cửa sổ thiết kế Đây là vùng thiết kếdành riêng cho các điều khiển mà không có sự thể hiện trực quan như là điều khiểnMainMenu, điều khiển ContextMenu, điều khiển Timer, và còn nhiều điều khiển khác

Trang 22

Hình 2.1 SDE Pocket PC trong màn hình Designer view

Khi Form Designer được sử dụng để xây dựng ứng dụng, phương thứcInitializeComponent chứa mã nguồn để xây dựng giao diện của ứng dụng Mã nguồn này

có ảnh hướng rất lớn đến quá trình thực hiện nếu trên form chứa một số điều khiển ẩn.Trên NET Compact Framework yêu cầu các cửa sổ được tạo theo hướng từ trên xuống Ví

dụ, nếu một panel được đặt trên form và panel đó chứa một số điều khiển, panel đó sẽđược thêm vào form trước, và sau đó các điều khiển mới được thêm vào panel Điều nàykhác với cách thiết kế form trong Visual Studio Net Trong Visual Studio Net, các cửa sổđược thiết kế theo hướng từ dưới lên Ví dụ của đoạn mã thiết kế được sinh ra trong VisualStudio Net và Net Compact Framework dưới đây sẽ cho chúng ta thấy điều này:

Mã được sinh ra trong Visual Studio Net:

// Đây là đoạn mã được sinh ra từ Form thiết kế trong Visual Studio //.Net Ở đây form được xây dựng theo hướng từ dưới lên

// Button thêm vào Panel Panel thêm vào Form

Trang 23

Mã được sinh ra trong Net Compact Framwork:

// Form được thiết kế theo hướng từ trên xuống

// Panel thêm vào Form Button thêm vào Panel

this.panel1.Location = new System.Drawing.Point(16, 16);

this.panel1.Size = new System.Drawing.Size(208, 168);this.Controls.Add(this.panel1);

Trang 24

Cửa sổ ToolBox bao gồm tất cả các điều khiển của NET Compact Framework màchúng ta có thể thêm vào ứng dụng Để thêm một điều khiển vào ứng dụng vào lúc thiết kếrất dễ, chúng ta có thể thực hiện bằng cách kéo một điều khiển từ ToolBox và thả vàoForms của ứng dụng trong cửa sổ Form Designer Hình 3.2

Hình 2.2 Cửa sổ ToolBox cho dự án SDE Pocket PC

2.3.3 Cửa sổ Propertises

Cửa sổ thuộc tính bao gồm tất cả các thuộc tính public của điều khiển đang đượclựa chọn trong cửa sổ Form Designer Chúng ta có thể thay đổi thuộc tính của điều khiểnbằng cách đưa giá trị vào điều khiển TextBox bên cạnh các tên thuộc tính Nếu thuộc tính

có số lượng giá trị giới hạn thì hộp drop-down chứa các giá trị có thể của thuộc tính đượchiển thị bên cạnh tên thuộc tính đó Nếu giá trị của thuộc tính là một tập hợp các đối tượnghoặc một đối tượng phức tạp,thì ở đó có thể là dấu 3 chấm nằm bên cạnh tên thuộc tính.Khi click chuột vào dấu 3 chấm đó sẽ hiển thị một hộp thoại cho phép chúng ta sửa đổi giágiá trị của thuộc tính Hình 3.3 hiển thị cửa sổ thuộc tính khi một điều khiển TextBox đượcchọn

Trang 25

Hình 2.3 Cửa sổ Properties của một điều khiển TextBox

2.3.4 Thêm vào các bộ bắt sự kiện

Khi một điều khiển bị tác động, nó sẽ sinh ra một sự kiện để thông báo cho ứngdụng rằng trạng thái của điều khiển đã bị thay đổi Để bắt sự kiện được sinh ra bởi điềukhiển, trước hết cần tạo một phương thức chứa đoạn mã thực thi khi sự kiện xảy ra Sau đógắn phương thức đó với sự kiện sinh ra bởi điều khiển Việc này có thể thực hiện đượcthông qua cửa sổ Propertises

Cửa sổ Propertises chứa danh sách các sự kiện được sinh ra bởi một điều khiển.Click vào nút Events nằm phía trên cửa sổ Propertises chúng ta sẽ thấy danh sách các sựkiện đó.Hình 3.4 là hình ảnh của cửa sổ thuộc tính hiển thị các sự kiện được sinh ra bởiđiều khiển Button

Trang 26

Hình 2.4 Cửa sổ Propertise hiển thị các sự kiện được sinh ra bởi điều

khiển Button

Chúng ta cũng có thêm một bộ bắt sự kiện bằng cách click double vào tên của sựkiện Đoạn mã để viết bộ bắt sự kiện tự động sinh ra Đoạn mã này nằm trong phươngthức InitializeComponent của lớp Form của ứng dụng

2.4 Sự khác nhau giữa các nền tảng Windows Form

Các dự án Smart Device Extensions (SDE) phải nhằm vào hệ điều hành Pocket PChoặc Windows CE NET Hai nền tảng này có các hàm giao diện người sử dụng API khácnhau Một dự án SDE thao tác bằng cách gọi các thư viện khác nhau cho mỗi nền tảng

2.4.1 Nền tảng Windows CE NET

Dự án Windows CE .NET giống như các dự án ứng dụng Window .NETFramework đầy đủ Trước tiên, nút minimize, nút maximize, và nút close xuất hiện tronghộp điều khiển của ứng dụng như chúng ta làm việc trên đối tượng Form NET Frameworkđầy đủ Các nút này có hành vi như là trên desktop Chúng ta có thể loại bỏ các nút đóbằng cách gán thuộc tính ControlBox của Form là false Chúng ta cũng có thể loại bỏ nútminimize và nút maximize bằng cách thiết lập các thuộc tính MinimizeBox vàMaximizeBox thành false

Trang 27

Khi một form ứng dụng Windows CE NET được tạo bằng phần thiết kế Form củaVisual Studio.NET, kích cỡ được thiết lập là 640 x 450 Bạn có thể thay đổi thuộc tính Sizenếu nó không phù hợp Mặc dù lớp Form có thuộc tính FormBorderSytle, nhưng việc thiếtlập thuộc tính Sizable không ảnh hưởng tới đường viền của cửa sổ Những ứng dụngWindows CE NET không thể thay đổi kích cỡ Nó chỉ có thể thu nhỏ, phóng to hết mànhình, hoặc kích cỡ như thuộc tính Size

2.4.2 Nền tảng Pocket PC

Các ứng dụng Pocket PC trong tương lai sẽ theo hướng các dự án ứng dụngWindows NET Framework đầy đủ Trước tiên, một đối tượng MainMenu luôn luôn đượcthêm vào một ứng dụng Pocket PC Chúng ta có thể loại bỏ menu đó, nhưng hành động đó

sẽ là nguyên nhân phát sinh ngoại lệ khi tương tác với Soft Input Panel (SIP) SIP là mộtphần mềm bổ sung của bàn phím QWERTY

Cửa sổ ToolBox của Visual Studio NET chứa đựng một điều khiển InputPanel.Trên mỗi Pocket PC điều khiển này cho phép chúng ta tương tác với SIP InputPanel chophép chúng ta nâng nên và hạ xuống SIP InputPanel cũng có thể gửi thông báo cho ứngdụng nếu SIP có khả năng Ngoài ra InputPanel chỉ được thêm vào Form khi trên From đó

đã có điều khiển MainMenu Nếu không có điều khiển MainMenu trên Form, thì một ngoại

lệ sẽ được đưa ra vào lúc thực thi khi chúng ta cố gắn hiện InputPanel

Các ứng dụng Pocket PC phải tuân theo một số nguyên tắc Thứ nhất, tại một thờiđiểm chỉ chạy một trường hợp của ứng dụng Nguyên tắc này được bảo đảm trong NetCompact Framework

Nguyên tắc thứ hai là vào thời điểm ứng dụng đang chạy người dùng không có khảnăng đóng ứng dụng Một ứng dụng sẽ đưa ra thông báo đang hoạt động hoặc đã bị ngừnghoạt động bằng các sự kiện Form.Activate và Form.Deactivate Lưu ý là 2 sự kiện nàykhông xuất hiện trong danh sách các sự kiện được hiển thị trong cửa sổ Propertises, nênchúng ta phải viết bằng tay cho 2 sự kiện này

Một ứng dụng không bao giờ thực sự hoàn thành cho tới khi nó có icon của nó.Việc gắn một icon cho một ứng dụng có thể được thực hiện thông qua Visual Studio Netbằng cách mở hộp thoại Property Pages của dự án Sau đó chọn vào phần Icon nằm trongphần Resourse, tiếp theo click vào dấu 3 chấm nằm Icon Khi đó OpenFileDialog đượchiển thị Cuối cùng là xác định vị trí icon trong hộp thoại Hình 3.5 là hộp thoại PropertyPages của dự án khi hiển thị

Trang 28

Hình 2.5 Hộp thoại Property Pages của dự án

2.5 Làm việc với điều khiển Form

Điều khiển Form là nơi chứa toàn bộ giao diện người dùng của ứng dụng Điềukhiển Form hiển thị là một cửa sổ chứa tất cả các điều khiển của ứng dụng Lớp Form cómột số thuộc tính mà tạo ra các hành vi khác nhau phụ thuộc vào nền tảng (targetplatform)

2.5.1 Ảnh hưởng của thuộc tính FormBorderStyle

Thuộc tính FormBorderSytle xác định kiểu đường viền của Form Giá trị mặc định

là FormBorderStyle.FixedSingle

Trên Pocket PC, thiết lập thuộc tính FormBorderStyle.None để tạo một formkhông có đường viên và không có tiêu đề Kiểu Form này có thể thay đổi kích thước và dichuyển trong mã nguồn nhưng không thể thay đổi bởi người sử dụng Thiết lập thuộc tínhFillBorderStyle.FixedSingle hoặc bất kỳ giá trị nào khác sẽ tạo ra một Form baotrùm toàn bộ màn hình, và Form sẽ không thể di chuyển và thay đổi kích thước

Trên WindowsCE.NET, thiết lập thuộc tính FormBorderStyle.FixedDialoghoặc FormBorderStyle.None sẽ tạo ra một form không có đường viền và tiêu đề Form

sẽ di chuyển và thay đổi kích thước chỉ thông qua mã nguồn của chương trình Thiết lậpthuộc tính FormBorderStyle.FixedSingle hoặc bất kỳ giá trị nào khác sẽ tạo

Trang 29

Form có một kích cỡ trả về thông qua thuộc tính Size với đường viên và tiêu đề Form chỉ

có thể thay đổi kích thước và di chuyển thông qua mã nguồn, và người sử dụng sẽ có thể dichuyển form

2.5.2 Sử dụng thuộc tính ControlBox

Thuộc tính ControlBox của Form xác định hộp điều khiển của Forms có đượchiển thị hay không Thiết lập thuộc tính ControlBox thành true sẽ hiển thị hộp điềukhiển Thiết lập thuộc tính này thành false sẽ ẩn hộp điều khiển

2.5.3 Thuộc tính MinimizeBoxMaximizeBox

Trên Pocket PC hộp điều khiển chỉ chứa đựng nhiều nhất một nút, một là nútminimize, nhãn X, hoặc nút close, nhãn OK Trên Windows CE NET hộp điều khiển cóthể chứa đựng nút minimize, nút maximize, và nút close Việc hiển thị các nút nàyđược điều khiển bằng thuộc tính MinimizeBox và MaximizeBox Bảng 3.1 mô tả các giátrị có thể có của MinimizeBox và ảnh hưởng của chúng trên mỗi nền tảng Bảng 3.2 mô

tả các giá trị có thể có của MaximizeBox và ảnh hưởng của chúng trên mỗi nền tảng

Giá trị Ứng dụng POCKET PC Ứng dụng WINDOWS CE NET

True X (nút minimize trên menu

bar)

Nút minimize giống như thông thường trên thanh tiêu đềFalse OK (nút close trên menu bar) Không có nút minimize trên thanh

true Không ảnh hưởng Nút maximize giống như thông

thường trên thanh tiêu đề

false Không ảnh hưởng Không có nút maximize trên

thanh tiêu đề

Trang 30

2.5.4 Thuộc tính WindowsState

Thuộc tính này xác định trạng thái ban đầu của cửa sổ Thuộc tính được thiết lập bởi 2 giá trị FormWindowState.Normal hoặc FormWindowState.Maximized Bảng3.3 mô tả mỗi giá trị và ảnh hưởng của nó đối với ứng dụng mà chạy trên 2 nền tảng:

Bảng 3.2 Giá trị thuộc tính WindowState và ảnh hưởng của nó

có hiệu lực thì thuộc tính FormBorderStyle phải được thiết lập giá trị là

FormBorderSytle.None Trên Windows CE thuộc tính Size luôn có hiệu lực.

2.5.6 Thiết lập vị trí của Form bằng cách sử dụng thuộc tính Location

Thuộc tính Location xác định góc trên bên trái của Form Trên Pocket PC thuộctính Location không có ảnh hưởng trừ khi thuộc tính FormBorderSytle được thiết lập

là FormBorderSytle.None Trên Windows CE vị trí của cửa sổ luôn luôn bằng thuộctính Location, trừ khi ứng dụng đưa vào trạng thái phóng to hoặc thu nhỏ hết cỡ

Maximize Ứng dụng sẽ phủ toàn bộ màn hình Nó sẽ ẩn

menu start, nhưng menu chính sẽ vẫn hiển

thị

Ứng dụng phủ toàn bộ vùngdesktop

Trang 31

2.6 Điều khiển Button

Lớp System.Windows.Froms.Button là lớp thi hành điều khiển Button trong Net.Khi người dùng click vào nút điều khiển Button đó sự kiện Click sẽ xảy ra Chúng ta cóthể bắt sự kiện này bằng cách thi hành delegate System.EventHandler Đoạn mãdưới đây thi hành EventHandler để hiển thị thời gian hiện hành:

Trang 32

Hình 2.6 Ứng dụng GiveemTime chạy trên bộ giả lập Pocket PC 2002

Giá trị KeyCode Nút phần cứng liên quanKeys.Up Nút phia trên của pad được nhấnKeys.Down Nút phía dưới của pad được nhấnKeys.Right Nút bên phải của pad được nhấnKeys.Left Nút bên trái của pad được nhấn

Bảng 2.1 Bảng giá trị KeyCodes được sinh ra bởi Directional Pad trên

thiết bị Pocket PC

Trang 33

2.7 Điều khiển Textbox

Điều khiển cho phép người dùng có thể nhập dữ liệu đầu vào cho ứng dụng Điềukhiển TextBox hỗ trợ thuộc tính BackColor và ForeColor, không giống như hầu hếtcác điều khiển khác trong Net Compact Framework Sự kiện Click không hỗ trợ, nhưng

có hỗ trợ các sự kiện KeyPress, KeyUp, và KeyDown Thuộc tính PasswordChar được

hỗ trợ

2.8 Điều khiển Label

Điều khiển Label cho phép hiển thị đoạn Text tới người sử dụng Thuộc tínhText của điều khiển xác định đoạn Text sẽ được hiển thị đối với người dùng là gì Nó cóthể có sự căn lề khác nhau dựa vào thuộc tính TextAlign Thuộc tính TextAlign cóthể nhận các giá trị là TopLeft, TopCenter, và TopRight Sự kiện TextChanged xảy

ra khi đoạn Text trong điều khiển Label thay đổi

2.9 Điều khiển RadioButton

Nút điều khiển Radio đưa tới người sử dụng một dãy các giá trị lựa chọn loại trừnhau Khi một nút Radio trong nhóm được chọn các nút khác sẽ tự động bị bỏ chọn Mộtứng dụng có thể có nhiều nhóm nút radio bằng cách đặt các nút radio trên các panelkhác nhau

Lớp RadioButton có hai sự kiện được đưa ra khi trang thái chọn củaRadioButton thay đổi: Click và CheckedChanged Sự kiện Click phát sinh khingười sử dụng chọn vào nút Radio Chúng ta có thể thao tác với sự kiện này như là đốivới sự kiện Click của lớp button Sự kiện CheckedChanged được phát sinh khi trạngthái chọn của RadioButton thay đổi bằng lập trình hay giao diện đồ hoạ

Sự kiện Click sẽ không phát sinh nếu thuộc tính Checked của RadioButtonđược thay đổi bằng lập trình Hình 3.7 chỉ ra ứng dụng được chạy trên bộ giả lập củaPocket PC 2002 Ứng dụng này đưa ra một câu hỏi đơn giản về tên bộ phim đầu tiên củaArnold Schwarzenegger:

Trang 34

Hình 2.7 Ứng dụng chạy Arnie chạy trên bộ giả lập của Pocket PC 2002

Khi một tên phim được chọn, ứng dụng sẽ bắt sự kiện RadioButton's CheckedChanged vàmột hộp massage được hiển thị nếu tên phim được chọn là đúng Đoạn mã dưới đây được

sử dụng để bắt sự kiện CheckedChanged đối với một câu trả lời sai:

2.10 Điều khiển CheckBox

Điều khiển CheckBox giống như điều khiển RadioButton. Điều khiển này đưađến cho người sử dụng danh sách các lựa chọn Điều khác là điều khiển CheckBox có thể

có nhiều lựa chọn trong cùng một lúc, trong khi điều khiển RadioButton lựa chọn loạitrừ

Ngày đăng: 25/04/2013, 21:06

HÌNH ẢNH LIÊN QUAN

Hình 1.2. Máy Newton Apple - Tìm hiểu công nghệ .Net Compact Framework
Hình 1.2. Máy Newton Apple (Trang 4)
Hình 1.3. Start Page được hiển thị khi chạy Visual Studio .NET. - Tìm hiểu công nghệ .Net Compact Framework
Hình 1.3. Start Page được hiển thị khi chạy Visual Studio .NET (Trang 9)
Hình 1.5. Thiết kế Form xuất hiện sau khi dự án được tạo - Tìm hiểu công nghệ .Net Compact Framework
Hình 1.5. Thiết kế Form xuất hiện sau khi dự án được tạo (Trang 11)
Hình 1.7. Sau khi kéo một số điều khiển vào Forms. - Tìm hiểu công nghệ .Net Compact Framework
Hình 1.7. Sau khi kéo một số điều khiển vào Forms (Trang 13)
Hình 1.8. Visual Studio hiển thị mã lệnh khi nút trong Form được bấm đúp. - Tìm hiểu công nghệ .Net Compact Framework
Hình 1.8. Visual Studio hiển thị mã lệnh khi nút trong Form được bấm đúp (Trang 14)
Hình 1.9. Trước khi triển khai ứng dụng trên thiết bị, Visual Studio  đưa ra hộp thoại - Tìm hiểu công nghệ .Net Compact Framework
Hình 1.9. Trước khi triển khai ứng dụng trên thiết bị, Visual Studio đưa ra hộp thoại (Trang 15)
Hình 1.10. Thiết bị emulator chạy ứng dụng hello world. - Tìm hiểu công nghệ .Net Compact Framework
Hình 1.10. Thiết bị emulator chạy ứng dụng hello world (Trang 16)
Hình 2.1: Sơ đồ mô tả kiến trúc .Net Compact Framework - Tìm hiểu công nghệ .Net Compact Framework
Hình 2.1 Sơ đồ mô tả kiến trúc .Net Compact Framework (Trang 18)
Hình 2.1. SDE Pocket PC trong màn hình Designer view - Tìm hiểu công nghệ .Net Compact Framework
Hình 2.1. SDE Pocket PC trong màn hình Designer view (Trang 22)
Hình 2.2. Cửa sổ ToolBox cho dự án SDE Pocket PC. - Tìm hiểu công nghệ .Net Compact Framework
Hình 2.2. Cửa sổ ToolBox cho dự án SDE Pocket PC (Trang 24)
Hình 2.3. Cửa sổ Properties của một điều khiển TextBox - Tìm hiểu công nghệ .Net Compact Framework
Hình 2.3. Cửa sổ Properties của một điều khiển TextBox (Trang 25)
Hình 2.4. Cửa sổ Propertise hiển thị các sự kiện được sinh ra bởi điều khiển Button - Tìm hiểu công nghệ .Net Compact Framework
Hình 2.4. Cửa sổ Propertise hiển thị các sự kiện được sinh ra bởi điều khiển Button (Trang 26)
Hình 2.5. Hộp thoại Property Pages của dự án - Tìm hiểu công nghệ .Net Compact Framework
Hình 2.5. Hộp thoại Property Pages của dự án (Trang 28)
Bảng 3.2. Giá trị thuộc tính  MaximizeBox  và ảnh hưởng của nó cho - Tìm hiểu công nghệ .Net Compact Framework
Bảng 3.2. Giá trị thuộc tính MaximizeBox và ảnh hưởng của nó cho (Trang 29)
Bảng 3.1. Giá trị thuộc tính MinimizeBox và ảnh hưởng của nó cho  mỗi nền tảng - Tìm hiểu công nghệ .Net Compact Framework
Bảng 3.1. Giá trị thuộc tính MinimizeBox và ảnh hưởng của nó cho mỗi nền tảng (Trang 29)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w