Tải bản đầy đủ (.doc) (97 trang)

Tìm hiểu về công nghệ .NET Compact Framework và lập trình ứng dụng trên Pocket PC.

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.53 MB, 97 trang )

Báo cáo Nghiên cứu khoa học
Tìm hiểu về công nghệ .NET Compact Framework và lập trình ứng dụng trên Pocket PC.
Information
Mục Lục
Lời Nói Đầu:
Chương 1 : Thiết lập môi trường phát triển ứng dụng
1.1 Smart Device Extension và .NET Compact Framework
1.2 Những thiết bị phi chuẩn
Chương 2:Thiết kế những ứng dụng GUI băng Windows Forms.
2.1 Tìm hiểu những điều khiển không được hỗ trợ trong .NET Compact Framework
2.2 Những hàm System.Windows.Forms không được hỗ trợ trong .NET Compact
Framework.
2.3 Làm việc với cửa sổ Form Designer của Visual Studio .NET
2.4 Tìm hiểu về các nền tảng khác nhau của Windows Forms
2.5 Làm việc với Control của Form.
2.6 Điều khiển Button
2.7 Sử dụng điều khiển TextBox
2.8 Sử dụng điều khiển Label
2.9 Điều khiển RadioButton
2.10 Sử dụng điều khiển CheckBox
2.11. Sử dụng điều khiển ComboBox
2.12 Sử dụng điều khiển ListBox
2.13 Các điều khiển khác
Chương 3: Tìm hiểu ADO.NET trên .NET Compact Framework
3.1 Giới thiệu ADO.NET trên .NET Compact Framework
3.2. Lưu dữ liệu với DataSet
3.3 Tìm hiểu về các ràng buộc dữ liệu
3.4 Thiết lập cho các trường tự động tăng giá trị
3.5. Mô hình dữ liệu quan hệ với DataSet
3.6 Tạo các khung ràng buộc của dữ liệu với một DataView
Chương 4: Lập trình với Microsoft SQL Server CE


4.1 Tìm hiểu các tính chất hỗ trợ bởi Microsoft SQL Server 2000 Windows CE Edition
4.2 Tạo CSDL Microsoft SQL Server CE
4.3 Thêm cấu trúc vào một CSDL Microsoft SQL Server CE
4.4 Lưu trữ (Populating) CSDL Microsoft SQL Server CE
4.5 Lấy dữ liệu bằng SqlCeDataReader
4.6 Lọc một DataSet bằng SqlCeDataAdapte
4.7 Cập nhật CSDL Microsoft SQL Server CE sử dụng SqlCeDataAdapter
4.8 Đối tượng SqlCommand với SqlCeCommandBuilder
Chương 5: Tài Liệu Tham Khảo
1
Báo cáo Nghiên cứu khoa học
Mục Lục
Lời Nói Đầu..............................................................................................................................3
Chương 1 : Thiết lập môi trường phát triển ứng dụng............................................................3
1.1 Smart Device Extension và .NET Compact Framework.........................................3
1.2 Những thiết bị phi chuẩn..........................................................................................14
Chương 2:Thiết kế những ứng dụng GUI băng Windows Forms.........................................17
2.1 Tìm hiểu những điều khiển không được hỗ trợ trong .NET Compact
Framework........................................................................................................................17
2.2 Những hàm System.Windows.Forms không được hỗ trợ trong .NET Compact
Framework........................................................................................................................18
2.3 Làm việc với cửa sổ Form Designer của Visual Studio .NET ..............................18
2.4 Tìm hiểu về các nền tảng khác nhau của Windows Forms ..................................22
2.5 Làm việc với Control của Form...............................................................................24
2.6 Điều khiển Button......................................................................................................26
2.7 Sử dụng điều khiển TextBox.....................................................................................28
2.10 Sử dụng điều khiển CheckBox...............................................................................30
2.12 Sử dụng điều khiển ListBox....................................................................................34
2.13 Các điều khiển khác.................................................................................................35
Chương 3: Tìm hiểu ADO.NET trên .NET Compact Framework........................................63

3.1 Giới thiệu ADO.NET trên .NET Compact Framework........................................63
3.2. Lưu dữ liệu với DataSet...........................................................................................63
3.3 Tìm hiểu về các ràng buộc dữ liệu...........................................................................68
3.4 Thiết lập cho các trường tự động tăng giá trị.........................................................70
3.5. Mô hình dữ liệu quan hệ với DataSet.....................................................................71
3.6 Tạo các khung ràng buộc của dữ liệu với một DataView.....................................76
Chương 4: Lập trình với Microsoft SQL Server CE ............................................................80
2
Báo cáo Nghiên cứu khoa học
4.1 Tìm hiểu các tính chất hỗ trợ bởi Microsoft SQL Server 2000 Windows CE
Edition ..............................................................................................................................80
4.2 Tạo CSDL Microsoft SQL Server CE ...................................................................80
4.3 Thêm cấu trúc vào một CSDL Microsoft SQL Server CE ...................................81
4.4 Lưu trữ (Populating) CSDL Microsoft SQL Server CE ......................................86
4.5 Lấy dữ liệu bằng SqlCeDataReader .......................................................................87
4.6 Lọc một DataSet bằng SqlCeDataAdapter ............................................................92
4.7 Cập nhật CSDL Microsoft SQL Server CE sử dụng SqlCeDataAdapter ..........94
4.8 Đối tượng SqlCommand với SqlCeCommandBuilder .........................................95
Chương 5: Tài Liệu Tham Khảo............................................................................................97
Lời Nói Đầu
Như chúng ta thấy, hiện nay các thiết bị di động ngày càng trở nên đa dạng và rất
phong phú, nó bao gồm rất nhiều loại máy tính xách tay và các loại máy điện thoại di động
khác nhau. Những chiếc máy tính xách tay hay những chiếc điện thoại di động đang ngày
càng trở nên rẻ hơn, thiết kế cải tiến hơn, kiểu dáng nhỏ gọn và đẹp mắt hơn, chúng có
nhiều tính năng tiện dụng hơn. Những thiết bị di động đang trở nên càng ngày càng lôi
cuốn nhiều công ty và cá nhân sử dụng hơn. Mặt khác những thiết bị này rất hữu dụng và
tiện lợi. Cũng chính vì nhu cầu đó, việc phát triển phần mềm để chạy trên những thiết bị di
động này cũng ngày càng yêu cầu những kỹ thuật đặc biệt hơn
Sự phát triển những ứng dụng cho các thiết bị di động sẽ cần đến những kỹ năng
đặc biệt. Những thiết bị cầm tay ngày càng được thiết kế với kích thước nhỏ gọn, xây dựng

những ứng dụng tốt hơn, phù hợp với nhu cầu tự nhiên của con người. Vì vậy, với .NET
Compact Framework và Smart Device Extensions (SDE) của Visual Studio NET,
Microsoft đã cung cấp một kỹ thuật phát triển phần mềm thích hợp cho các loại thiết bị di
động và những người thiết kế các thiết bị di động. Và sau đây ta sẽ tìm hiểu về .NET
Compact Framework và Smart Device Extensions.
Tìm hiểu về công nghệ .NET Compact Framework và
lập trình ứng dụng trên Pocket PC.
Sau đây chúng ta sẽ tìm hiểu về công nghệ .NET Compact Framework và lập trình
ứng dụng trên Pocket PC trên nền Windows mobile. Trong tài liệu này, các ví dụ được
triển khai bằng ngôn ngữ lập trình C#, trong Visual Studio.NET 2003.
Chương 1 : Thiết lập môi trường phát triển ứng dụng
1.1 Smart Device Extension và .NET Compact Framework
1.1.1 Giới thiệu về .NET Compact Framework
3
Báo cáo Nghiên cứu khoa học
- .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
- .NET Compact Framework là một thư viện lớp phong phú, cung cấp một API
đồng dạng mà những người phát triển có thể dung cả C#, Visual Basic NET, và cả những
ngôn ngữ trong tương lai sẽ được hỗ trợ .NET Compact Framework
- .NET Compact Framework gồm những lớp truy nhập dữ liệu rất đa dạng và rộng,
những lớp thao tác XML, có một tập hợp những kiểu dữ liệu cơ bản phong phú, có sự hỗ
trợ nối mạng dễ sử dụng hơn, và..v..v…
- .NET Compact Framework 2.0 là nền tảng cho 1 số ứng dụng cho PPC được phát
triễn trên code Visual Studio .NET.
.NET Compact Framework là một phiên bản thu nhỏ của .NET Framework được
sử dụng để tạo, xây dựng, gỡ lỗi và triển khai các ứng dụng chạy trên .NET Compact
Framework trong các PDA, điện thoại di động và các thiết bị thông minh khác. NET
Compact Framework sử dụng một số những thư viện lớp thông thường giống như .NET

Framework và ngoài ra còn sử dụng một vài thư viện được thiết kế đặc biệt dành cho
những thiết bị di động như Windows CE InputPanel.
.NET Compact Framework là nền tảng của Microsoft để phát triển các ứng dụng di
động, hỗ trợ khả năng khai thác sức mạnh của các dịch vụ web trên thiết bị di động. Ngoài
ra, lập trình viên có thể tận dụng những tính năng cao cấp của Visual Studio "Everett" để
xây dựng các ứng dụng hữu ích cho doanh nghiệp một cách nhanh chóng. Smart Device
Extensions, một phần mở rộng cho IDE của Visual Studio .NET, cung cấp các chức năng
giúp đơn giản hoá việc lập trình ứng dụng di động.
Sự khác nhau giữa .NET Compact Framework và .NET Framework: .NET
Compact Framework là một phiên bản thu nhỏ của .NET Framework. .NET Compact
Framework và .NET Framework, tuy cả 2 đều là nền tảng của Visual Studio .NET,nhưng:
*.NET Compact Framework: phát triển chủ yếu cho các ứng dụng của Windows
Mobile. Khi cài đặt .NET Compact Framework (phiên bản giành cho Windows) thì chương
trình cũng sẽ tự động cập nhật phiên bản mới cho điện thoại (nếu phiên bản cài đặt là bản
mới hơn bản được tích hợp sẵn của hệ điều hành WM). Và .NET compact framwork cho
Pocket PC giới hạn hơn và chỉ có khoảng 2.5 M
* .NET Framework là nền tảng phát triển các ứng dụng cho PC.
1.1.2 Những yêu cầu về hệ thống.
Smart Devices Extensions (Mở rộng những thiết bị thông minh) là môi trường phát
triển tích hợp (IDE) thông qua mục đích của những người thiết kế .NET Compact
Framework. Nó bao gồm phiên bản Visual Studio .NET 7.1 hoặc các phiên bản về sau,
Enterprise Developer và Enterprise Architect Editions. Để chạy Visual Studio .NET 7.1
4
Báo cáo Nghiên cứu khoa học
Enterprise Developer hay Enterprise Architect, bạn cần một hệ thống máy tính với những
yêu cầu tối thiểu được phác thảo trong bảng 1.1.
Bảng 1.1. Những yêu cầu hệ thống trong Visual Studio .NET 2003
Vùng Yêu cầu
Operating
system and

RAM
Windows 2000 Professional; 96MB RAM, đề nghị 128MB Windows
2000 Server; 192MB RAM, đề nghị 256MB. Windows XP
Professional; 192MB RAM, đề nghị 256MB. Windows XP Home;
96MB RAM, đề nghị 128MB Windows .NET Server 2003; 192MB
RAM, đề nghị 256MB
Hard disk space Tối thiểu 900MB trên ổ chứa hệ điều hành và khoảng 4.1GB để cài
Microsoft 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 lớn hơn
Ngoài ra, ta cần có một thiết bị được hỗ trợ để chạy những chương trình. .NET
Compact Framework tương thích với mọi thiết bị có khả năng chạy hệ điều hành Pocket
PC.
Việc truy nhập Smart Device Extensions xảy ra tự động khi bạn tạo ra một ứng
dụng mới cho một Pocket PC hay thiết bị Windows CE hoặc khi bạn mở một Pocket PC
được tạo ra trước đó hay một ứng dụng Windows CE.
1.1.3 Sử dụng Smart Device Extensions
Cách đơn giản nhất để phát triển .NET Compact Framework là sử dụng Smart
Device Extensions (những mở rộng thiết bị thông minh) trong Visual Studio .NET
7.1. Để đơn giản cho một mở rộng của Visual Studio 7.1, thì Smart Device
Extensions giới thiệu những kiểu dự án mới, cho phép chúng ta chạy trên
Windows CE, những Thiết bị hỗ trợ .NET Compact Framework, như Pocket PC.
Điều này có nghĩa là sử dụng Smart Device Extensions để phát triển những ứng
dụng cho Windows CE dễ dàng như việc phát triển những ứng dụng cho
Windows 2000 hay XP. Nếu bạn đã làm một ứng dụng bằng việc sử dụng những
5
Báo cáo Nghiên cứu khoa học

phiên bản trước đây của Visual Basic, thì bạn cũng không phải lo lắng gì với
Smart Device Extensions của Visual Studio. Smart Device Extensions đủ thông
minh để biên dịch ứng dụng của bạn.
1.1.4 Tạo một ứng dụng mới cho những thiết bị Pocket PC
Cách dễ dàng nhất để giới thiệu Smart Device Extensions là bằng ví dụ. Chúng ta
sẽ tạo ra một chương trình ứng dụng đơn giản có tên là “Hello World” bằng ngôn ngữ C#.
Chúng ta sẽ thực hiện theo những bước sau:
- Bước 1: Khi Visual Studio .NET bắt đầu chạy, nó sẽ hiển thị một của sổ Start
Page, như hình 1. Để tạo ra một ứng dụng mới, bạn kích vào nút New Project nằm ở gần
đáy của màn hình; Ta sử dụng thực đơn kéo xuống bằng việc lựa chọn File -> New->,
Project; hay sử dụng tổ hợp phím bấm Ctrl+ Shift+ N.
Hình 1: Của sổ Start Page hiển thị khi khởi động chương trình Visual Studio.
- Bước 2: Sau khi chúng ta kích vào New Project, một hộp thoại hiện ra, nó hiển thị
kiểu của project. Chúng ta chọn thư mục Visual Basic Projects và mẫu Smart
Device Application, như hình 2. Bạn sẽ đặt một tên và chỉ vị trí để lưu ứng dụng
mới và tiếp theo là kích nút OK.
6
Báo cáo Nghiên cứu khoa học
Hình 2: Hộp thoại tạo một Visual Basic Smart Device Application
- Bước 3: Hộp thoại tiếp theo, như hình 3
7
Báo cáo Nghiên cứu khoa học
Hình 3: chọn một nền đích và một mẫu ứng dụng
- Bước 4: Sau khi chúng ta đã lựa chọn như hình 3 và kích OK, Visual Studio tự
động kích hoạt Smart Device Extensions và đưa ra những trình thiết kế mẫu, như hình 4.
8
Báo cáo Nghiên cứu khoa học
Hình 1.5: Trình thiết kế Forms hiện ra sau khi một dự án được tạo.
- Bước 5: Bên trái của khung thiết kế Forms là một nút nhỏ có tên là Toolbox. Việc
kích nút này sẽ đưa ra hộp Toolbox, như được minh hoạ trong hình 5.

9
Báo cáo Nghiên cứu khoa học
Hình 5: Hiển thị hộp ToolBox.
- Bước 6: Mỗi mục trong Toolbox là một điều khiển sẵn có để những người thiết kế
dùng trong .NET Compact Framework. Hầu hết điều khiển đều có liên quan đến
Winforms. Cho hướng dẫn này, chúng ta sẽ lựa chọn một TextBox, kéo nó lên Form, và
tiếp theo, lại lựa chọn một Button và kéo nó lên Form. Hình 6 cho thấy kết quả.
10
Báo cáo Nghiên cứu khoa học
Hình 6: Hiển thị kết quả sau khi kéo TextBox và Button vào Form
-Bước 7: Bây giờ ta kích kép vào nút Button1, và IDE đưa ra code với con trỏ nhấp
nháy ở ngay phương thức Button1_click. Bất cứ code nào được nhập vào đều được thực
hiện khi ta kích vào nút Button1. Bây giờ chúng ta sẽ nhập một vài code Visual Basic như
hình 7.
11
Báo cáo Nghiên cứu khoa học
Hình 7: Hiển thị code sau khi kích vào nút button trên Form
- Bước 8. Cách làm này rất giống cách làm cho máy để bàn, và nó là điểm của
Smart Device Extensions và .NET Compact Framework. Dự án lúc này đã sẵn sàng để biên
dich và chạy trên thiết bị. Để chạy ứng dụng trên thiết bị, chọn Debug, Start Without
Debugging. Đầu tiên Visual Studio sẽ biên dịch mã nguồn và sau đó đưa ra hộp thoại
Deploy Smart Device Application, như trong hình 8.
12
Báo cáo Nghiên cứu khoa học
Hình 8: Trước khi triển khai một ứng dụng cho một thiết bị,
Visual Studio cho thấy hộp thoại triển khai.
-Bước 9: Ta sẽ chọn một trong các bộ mô phỏng có trong hình 8 để chạy ứng dụng.
Trong ứng dụng này ta chọn Pocket PC 2002 Emulator. Nếu muốn chạy thử trên các thiết
bị thực, chúng ta chọn Pocket PC Device nhưng phải đảm bảo rằng thiết bị đã được kết nối
thông qua đường ActiveSyne 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à khởi chạy ứng dụng
của bạn trên thiết bị. Nếu bạn kích vào nút Button, bạn sẽ nhìn thấy kết quả của ứng dụng
như hình 9.
13
Báo cáo Nghiên cứu khoa học
Hình 9: Thiết bị mô phỏng chạy ứng dụng Hello World.
1.2 Những thiết bị phi chuẩn
.NET Compact Framework có thể chạy trên rất nhiều các thiết bị phần cứng chạy
hệ điều hành Windows CE. Bảng 1.2 cho chúng ta thấy các bộ xử lý được hỗ trợ bởi .NET
Compact Framework và các hệ điều hành hỗ trợ cho các bộ xử lý.
.NET Compact Framework được lưu trữ như một file CAB trên Desktop. Chỉ có
một file CAB duy nhất cho mỗi hệ điều hành và kiểu bộ xử lý mà .NET Compact
Framework hỗ trợ. Smart Device Extensions đưa file CAB phù hợp vào thiết bị khi nó xác
định thiết bị không cài đặt .NET Compact Framework.
14
Báo cáo Nghiên cứu khoa học
Tên CPU Phiên bản hệ điều hành hỗ trợ
Intel ARM 4 Pocket PC 2000, 2002, 2003, and WinCE 4.1 hoặc mới hơn
Intel ARM 4i Pocket PC 2000, 2002, 2003, and WinCE 4.1 hoặc mới hơn
Hitachi SH3 Pocket PC 2000, 2002, 2003, and WinCE 4.1 hoặc mới hơn
Hitachi SH4 Pocket PC 2003 and WinCE 4.1 hoặc mới hơn
Intel 80x86 Pocket PC 2000, 2002, 2003, and WinCE 4.1 hoặc mới hơn
MIPS 16 Pocket PC 2000, 2002, 2003, and WinCE 4.1 hoặc mới hơn
MIPS II Pocket PC 2000, 2002, 2003, and WinCE 4.1 hoặc mới hơn
MIPS IV Pocket PC 2000, 2002, 2003, and WinCE 4.1 hoặc mới hơn
Bảng 1.2: Bộ xử lý và hệ điều hành được hỗ trợ bởi .NET Compact Framework
Tất cả các thiết bị Pocket PC chạy hệ điều hành Pocket PC version 2003 hoặc mới
hơn đều có .NET Compact Framework trong ROM. Nếu chúng ta không thể triển khai
hoặc gỡ lỗi ứng dụng trên các thiết bị, trong phần này chúng ta sẽ học cách làm thế nào để

Smart Device Extensions kết nối với các thiết bị để gỡ lỗi, triển khai và thảo luân một vài
vấn đề liên quan. Có ba mức hỗ trợ phi chuẩn:
- Hỗ trợ đầy đủ triển khai và gỡ lỗi thông thường, mức hỗ trợ này có nghĩa rằng
IDE có thể triển khai hệ nhị phân tới thiết bị và gỡ lỗi mã nguồn đang chạy trên thiết bị.
- Chỉ hỗ trợ triển khai: có nghĩa rằng IDE có thể chỉ triển khai hệ nhị phân tới thiết
bị nhưng không thể gỡ lỗi mã chạy trên thiết bị được.
- Chỉ hỗ trợ đích (Target). Mức hỗ trợ này có nghĩa là chúng ta có thể phát triển
ứng dụng của chúng ta trong Visual Studio, nhưng chúng ta phải cài đặt Compact
Framework trên thiết bị và sao chép vào thiết bị.
* Kết nối Visual Studio với các thiết bị
Để thiết lập giao tiếp Visual Studio với thiết bị, chúng ta làm theo các bước sau:
15
Báo cáo Nghiên cứu khoa học
+ Bước 1: chọn Tools -> Options trong Visual Studio.
+ Bước 2: kích đúp trên mục Device Tools và chọn Devices. Xem hình 10
Hình 10: Sử dụng hộp thoại kết nối thiết bị để chọn kiểu thiết bị muốn kết nối.
+ Bước 3: Chọn nền tảng Pocket PC hay Windows CE.
+ Bước 4: Chọn kiểu thiết bị mà chúng ta muốn triển khai ứng dụng trên đó. Hình 10 cho
phép chọn Emulator hoặc thiết bị Pocket PC.
+ Bước 5: Lựa chọn cách thức truyền tin được dụng. Thiết bị Pocket PC có hai lựa chọn
là: kết nối TCP và IRDA.
Kết nối TCP Connect Transport có nghĩa là thiết bị desktop sẽ kết nối với
ConmanClient.exe trên thiết bị bằng kết nối TCP.
Kết nối IRDA Transport sử dụng IRDA trên thiết bị để kết nối. Điều này rất hữu
ích khi máy tính của chúng ta là laptop có cổng IRDA.
+ Bước 6: Nếu chọn TCP Connect Transport, sau đó chúng ta có thể thay đổi bằng cách
chọn nút Configure…sau đó sẽ nhận được như hình 11.
16
Báo cáo Nghiên cứu khoa học
Hình 11: TCP Connect Transport cho phép thiết lập kết nối tới thiết bị TCP.

+ Bước 7: Hộp thoại như hình 11 cho phép chúng ta thiết lập địa chỉ IP cho thiết bị. Nếu
thiết bị nối kết bằng ActiveSyne, Visual Studio có thể tự động điều khiển nhận ra địa chỉ.
Chúng ta có thể lựa chọn sử dụng số hiệu cổng khác với cổng 5656. Để không sử dụng
cổng mặc định, bạn phải tự cấu hình ConmanClient.exe trên thiết bị.
Chương 2:Thiết kế những ứng dụng GUI băng Windows
Forms.
.NET Compact Framework cung cấp rất nhiều chức năng để xây dựng giao diện đồ hoạ
cho ứng dụng của bạn. Tuy nhiên, những chức năng này là chỉ một tập con của tập các
chức năng mà .NET Framework đã cung cấp. Trước khi giới thiệu những điều khiển mà
.NET Compact Framework hỗ trợ, thì chúng ta hãy tìm hiểu một số điều khiển mà nó
không hỗ trợ.
2.1 Tìm hiểu những điều khiển không được hỗ trợ trong .NET Compact
Framework
Danh sách sau đây chứa những control mà không được hỗ trợ trên .NET Compact
Framework.
• CheckedListBox
• ColorDialog
• ErrorProvider
• FontDialog
• GroupBox
• HelpProvider
• LinkLabel
17
Báo cáo Nghiên cứu khoa học
• NotificationBubble
• NotifyIcon
• All Print controls
• RichTextBox
• Splitter
2.2 Những hàm System.Windows.Forms không được hỗ trợ trong .NET

Compact Framework.
Ngoài những điều khiển không được hỗ trợ, .NET Compact Framework cũng không có
một số hàm để cung cấp cho các điều khiển này. Danh sách sau đây đưa ra những hàm
.NET Compact Framework không hỗ trợ.
• AcceptButton
• CancelButton
• AutoScroll
• Anchor
• Multiple Document Interface (MDI)
• KeyPreview
• TabIndex
• TabStop
• Drag and drop
• All printing capabilities
• Hosting ActiveX controls
2.3 Làm việc với cửa sổ Form Designer của Visual Studio .NET
Trình thiết kế Form Visual Studio .NET cho phép chúng ta thiết kế giao diện người
dùng cho ứng dụng một cách trực quan bằng những điều khiển được kéo lên Form ứng
dụng. Mỗi một control được kéo lên form, chúng ta có thể nhìn thấy và định vị trí cho
18
Báo cáo Nghiên cứu khoa học
những control đó, và đặt những thuộc tính cho các control đó thông qua cửa sổ Properties,
và tạo ra những bộ xử lý sự kiện cho những sự kiện của những control.
2.3.1 Cửa sổ thiết kế Forms
Khi chúng ta tạo ra một dự án Smart Device Extension (SDE) mà là một ứng dụng
Windows, thì Visual Studio .NET sẽ mở dự án trong khung Designer. Ngoài ra, chúng ta
cũng có thể chọn Designer từ menu View để đưa dự án vào khung Designer. Form
Designer thường là cửa sổ nằm ở giữa của môi trường Visual Studio .NET. Hình 2.1 hiển
thị Form Designer của một dự án SDE Pocket PC trong khung thiết kế Designer. Chú ý
thành phần mainMenu1 ở đáy của cửa sổ Designer.

Hình 2.1: Khung Designer của SDE Pocket PC.
Chú ý: Khi Form Designer được sử dụng để xây dựng một ứng dụng, phương thức
InitializeComponent chứa đựng mã nguồn để xây dựng một giao diện người dùng của ứng
dụng. Mã nguồn này có ảnh hưởng lớn đến quá trình thực thi nếu form của chúng ta chứa
vài control được lồng vào nhau. Chẳng hạn, nếu có một panel được đặt trên một form và
19
Báo cáo Nghiên cứu khoa học
panel chứa vài control, thì panel cần phải được thêm vào form trước, sau đó những control
sẽ được thêm vào panel.
2.3.2 Cửa sổ ToolBox.
Cửa sổ ToolBox chứa tất cả những control của .NET Compact. Việc thêm một
control cho một ứng dụng ở thời điểm thiết kế rất dễ dàng, ta chỉ việc kéo control từ hộp
ToolBox và thả nó trên form của ứng dụng trong cửa sổ Form Designer. Hình 2.2 minh hoạ
ToolBox cho một dự án SDE Pocket PC.
Hình 2.2: Cửa sổ ToolBox của một dự án SDE Pocket PC.
2.3.3 Của sổ Properties
Cửa sổ Properties chứa tất cả những đặc tính của control hiện thời đang được chọn
trong cửa sổ Form Designer. Bạn có thể thay đổi những thuộc tính này bởi việc gõ những
giá trị vào trong điều khiển TextBox bên cạnh tên thuộc tính. Nếu thuộc tính có một số giới
hạn giá trị, thì một cái hộp thả xuống được hiển thị bên cạnh tên thuộc tính mà chứa những
giá trị có thể xảy ra cho thuộc tính. Cuối cùng, nếu giá trị của thuộc tính là một tập hợp của
các đối tượng hay một đối tượng phức tạp, ở đó có thể là một dấu ba chấm được định vị
20
Báo cáo Nghiên cứu khoa học
bên cạnh tên thuộc tính. Việc kích vào dấu ba chấm này sẽ hiển thị ra một hộp thoại cho
phép bạn tự nhập thêm giá trị của thuộc tính. Hình 2.3 hiển thị cửa sổ Properties khi một
TextBox được lựa chọn.
Hình 2.3: Cửa sổ Properties của một điều khiển TextBox.
Adding Events Handlers (Thêm bộ xử lý sự kiện)
Khi một control được thao tác ở tại thời điểm đang thực thi, nó sẽ xuất hiện một sự

kiện để thông báo ứng dụng mà trạng thái của điều khiển đang thay đổi. Để xử lý một sự
kiện được đưa ra bởi một control, đầu tiên bạn phải tạo ra một phương thức chứa mã để
thực hiện khi sự kiện được dùng. Tiếp theo bạn gắn phương thức cho sự kiện được công bố
của điều khiển. Điều này có thể được làm thông qua cửa sổ Properties.
Của sổ Properties liệt kê những sự kiện mà được đưa ra bởi control. Kích vào nút
Events tại vị trí gần trên cùng của cửa sổ Properties, nó sẽ liệt kê ra những sự kiện. Hình
2.4 hiển thị cửa sổ Properties, va nó đang hiển thị sự kiện của control Button.
21
Báo cáo Nghiên cứu khoa học
Hình 2.4: Của sổ Properties hiển thị những sự kiện của control Button.
Ngoài ra, chúng ta cũng có thể thêm một sự kiện xử lý bằng cách kích đúp lên tên
sự kiện. Việc làm này sẽ chuyển dự án đến khung viết code. Mã để viết bộ xử lý sự kiện
cho control cũng tự động được phát sinh. Chúng ta có thể tìm thấy mã này trong phương
thức InitializeComponent của lớp Form của ứng dụng.
2.4 Tìm hiểu về các nền tảng khác nhau của Windows Forms
Những dự án Smart Device Extensions (SDE) có thể chọn một trong hai hệ điều
hành: hệ điều hành Pocket PC hay là hệ điều hành Windows CE .NET. Hai nền tảng này có
APIs giao diện người dùng khác nhau. Một dự án SDE xử lý điều này bằng cách gọi những
thư viện khác nhau trên mỗi nền tảng.
2.4.1 Tìm hiểu những nền tảng Windows CE .NET
Những dự án Windows CE .NET cũng tương tự như những dự án ứng dụng .NET
Framework thông thường trên Windows. Đầu tiên, khi mới bắt đầu tạo dự án thì trong
form thiết kế có 3 nút, đó là: nút minimize, nút maximize và nút close xuất hiện trong cái
hộp điều khiển của ứng dụng, chúng cũng giống như trong đối tượng Form của..NET
Framework. Bạn có thể loại bỏ cái hộp điều khiển từ form bằng cách đặt thuộc tính của
22
Báo cáo Nghiên cứu khoa học
ControlBox là false. Bạn có thể loại bỏ nút minimize, và nút maximize bằng cách đặt thuộc
tính của MinimizeBox và MaximizeBox là false..
Khi một form ứng dụng của Windows CE .NET được tạo ra bằng trình thiết kế

Visual Studio .NET, thì kích thước của nó được tự động đặt ra là 640 X 450. Bạn có thể
thay đổi thuộc tính size này nếu nó không thích hợp cho ứng dụng của bạn. Mặc dù lớp
form trình bày thuộc tính FormBorderSytle, nhưng việc đặt thuộc tính của Sizable sẽ không
ảnh hưởng đến đường viền của cửa sổ. Trong Windows CE .NET thì không có ứng dụng
nào thay đổi kích thước. Nó có thể chỉ thu nhỏ, làm phóng to cực đại màn hình, hay là theo
kích cỡ của thuộc tính size.
2.4.2 Tìm hiểu nền tảng Pocket PC
Những ứng dụng trên Pocket PC lệch xa hơn so với những dự án của ứng dụng
Windows .NET Framework thông thường. Đầu tiên, khi mới bắt đầu tạo dự án một đối
tương MainMenu luôn luôn được thêm vào một ứng dụng Pocket PC. Bạn có thể loại bỏ
thực đơn này, nhưng việc làm này sẽ gây ra một ngoại lệ, và nó sẽ được đưa vào khi tương
tác với Soft Input Panel (SIP). SIP là một sự thi hành phần mềm của bàn phím QWERTY.
Cửa sổ ToolBox của Visual Studio .NET chứa một điều khiển InputPanel. Trên
Pocket PC, điều khiển này cho phép bạn tương tác với SIP. InputPanel cho phép bạn tăng
và giảm SIP. Ngoài ra, InputPanel sẽ thông báo cho ứng dụng của bạn khi SIP đã được cho
phép. Một điều cần chú ý là form của bạn phải có một control MainMenu trên nó và trong
control InputPanel để được thêm vào form. Nếu không có control MainMenu trên form thì
một ngoại lệ sẽ được đưa vào ở thời điểm đang chạy khi bạn cố gắng làm hiện rõ
InputPanel
Những ứng dụng Pocket PC phải bám sát vào những hướng dẫn và những nguyên
tắc nhất định. Nguyên tắc đầu tiên là chỉ có một trường hợp của một ứng dụng đang chạy
tại một thời điểm. Ở ngay thời điểm chạy, .NET Compact Framework sẽ bảo đảm chức
năng này, như vậy không cần viết mã mà vẫn bảo đảm rằng chỉ một trường hợp của ứng
dụng của bạn đang chạy.
Nguyên tắc thứ hai là mỗi một lần một ứng dụng đang chạy, người sử dụng không
nên đóng ứng dụng lại. Những trạng thái nguyên tắc mà ứng dụng cần phải lưu giữ bất kỳ
dữ liệu nào, giải thoát cho bất kỳ tài nguyên nào, và ngắt kết nối bất kỳ kết nối nào (ví dụ
như những kết nối cơ sở dữ liệu) khi nó ngừng hoạt động. Nếu ứng dụng được bắt đầu
chạy lần nữa, thì nó sẽ được kích hoạt bởi OS. Khi nó được kích hoạt, ứng dụng cần phải
có những tài nguyên định vị đúng (reallocate resources) và reestablish (thiết lập chính xác)

bất kỳ kết nối nào. Ứng dụng sẽ được thông báo khi nó được kích hoạt hay không hoạt
động bởi các sự kiện Form.Activate và Form.Deactivate. Chú ý, những sự kiện Activate và
Deactivate không được liệt kê trong Properties Designer, vì vậy bạn phải tự viết và gán
những sự kiện này.
23
Báo cáo Nghiên cứu khoa học
2.4.3 Kết hợp một Icon (biểu tượng) với ứng dụng
Một ứng dụng chưa thật sự hoàn thiện khi nó chưa có biểu tượng của nó. Việc kết
hợp một biểu tượng với một ứng dụng có thể được thông qua Visual Studio .NET bằng
cách mở hộp thoại Property Pages dự án. Sau đó lựa chọn General ở dưới folder Common
Properties. Tiếp theo kích vào dấu ba chấm bên cạnh thuộc tính Application Icon. Việc này
sẽ hiển thị OpenFileDialog. Xác định vị trí biểu tượng trong hộp thoại.
2.5 Làm việc với Control của Form.
Điều khiển Form là nơi chứa toàn bộ các điều khiển của ứng dụng. Lớp form có vài
thuộc tính mà gây ra cho form hoạt động khác nhau phụ thuộc vào nền tảng đích.
2.5.1 Tìm hiểu tác động của thuộc tính FormBorderStyle
Thuộc tính FormBorderStyle xác định kiểu đường viền của Form. Giá trị mặc định
cho đặc trưng này là FormBorderStyle.FixedSingle.
Trên Pocket PC, việc đặt thuộc tính cho FormBorderStyle.None tạo ra một form
không có đường viền và không có thanh tiêu đề. Kiểu này của form có thể được thay đổi
kích thước và di chuyển trong mã nhưng không phải bởi người sử dụng. Đặt thuộc tính
FillBorderStyle.FixedSingle hay bất kỳ giá trị nào khác sẽ tạo ra một form mà chiếm toàn
màn hình, và form sẽ không di chuyển hay thay đổi kích thước được.
Trên Windows CE .NET, đặt thuộc tính FormBorderStyle.FixedDialog hay
FormBorderStyle.None sẽ tạo ra một form không có viền hay thanh tiêu đề. Form sẽ di
chuyển và thay đổi kích thước chỉ thông qua mã. Đặt thuộc tính
FormBorderStyle.FixedSingle hay mọi giá trị khác sẽ tạo ra một form được đo cỡ cho
thuộc tính size với một đường viền và một thanh tiêu đề. Form chỉ được thay đổi kích
thước hay di chuyển thông qua mã, và người sử dụng sẽ có khả năng để di chuyển form.
2.5.2 Sử dụng thuộc tính ControlBox

Thuộc tính ControlBox của form xác định xem hộp điều khiển có được hiển thị hay
không. Sự Thiết đặt thuộc tính ControlBox là true sẽ hiển thị hộp điều khiển. Đặt thuộc
tính là false thì sẽ ẩn hộp điều khiển đi.
2.5.3 Tìm hiểu các thuộc tính MinimizeBox và MaximizeBox
Trên Pocket PC thì hộp điều khiển chỉ chứa nhiều nhất một nút, hoặc là nút
minimize có dán nhãn là X, hoặc là nút close gắn nhãn là OK. Trên Windows CE .NET thì
hộp điều khiển có thể chứa cả ba nút: nút minimize, nút maximize, và nút close. Tính rõ
ràng của những nút này được kiểm soát bởi những thuộc tính MinimizeBox và
MaximizeBox. Bảng 2.1 mô tả những giá trị có thể xảy ra của thuộc tính MinimizeBox và
những tác dụng của chúng trên mỗi nền tảng đích. Bảng 2.2 mô tả những thuộc tính tương
tự cho MaximizeBox
24
Báo cáo Nghiên cứu khoa học
Bảng 2.1: Mô tả những giá trị có thể xảy ra của thuộc tính MinimizeBox và những tác
dụng của chúng trên mỗi nền tảng đích.
PROPERTY
VALUE
POCKET PC
APPLICATION
WINDOWS CE .NET
APPLICATION
True Nút X (minimize) trong
thanh tiêu đề
Nút minimize truyền thống của
Windows trong thanh tiêu đề
False Nut OK (close) trong thanh
tiêu đề
Không có nút minimize trong thanh tiêu
đề.
Bảng 2.2 mô tả những giá trị có thể xảy ra của thuộc tính MaximizeBox và những tác

dụng của chúng trên mỗi nền tảng đích.
PROPERTY
VALUE
POCKET PC
APPLICATION
WINDOWS CE .NET APPLICATION
True Không có tác dụng Nút maximize truyền thống của Windows
trong thanh tiêu đề.
False Không có tác dụng Không có nút maximize trong thanh tiêu
đề.
.
2.5.4. Tìm hiểu thuộc tính WindowsState
Thuộc tính WindowsState xác định trạng thái hiện rõ ban đầu của cửa sổ. Thuộc
tính này chỉ có thể được thiết lập cho FormWindowState.Normal hay
FormWindowState.Maximized. Bảng 2.3 mô tả giá trị và tác dụng của nó trên một ứng
dụng được chạy trên cả hai nền tảng đích.
25

×