内容简介
第1部分:基础知识
第1章 .NET精简框架体系结构
WindowsCE概述
设计目标
平台和PlatformBuilder
eMbeddedVisualC++++
什么是.NET
有效的.NET实现
.NET的规模与范围
三种.NET应用程序
通用编程要素
.NET精简框架
设计目标
.NET精简框架文件
.NET精简框架的能力
.NET精简框架的限制
小结
第2章 什么是.NET精简框架程序
.NET精简框架程序的本质
使用.NET精简框架库
有图形用户界面
完全由源代码定义
有一个或多个System.Windows.Forms.Form类的派生类
使用VisualStudio.NET2003
使用开发环境
查看设计器生成的代码
第1步:使用设计器添加控件
区域
Cistern示例程序
第2步:在程序中添加代码
添加类
创建WaterMath类
重载函数
使用WaterMath对象
定义和使用共享方法
理解命名空间
使用智能感知
小结
第3章 .NET类型系统
命名空间内容
使用类型信息:命名空间引用和程序集引用
访问命名空间
程序集引用
标准类型
值类型
引用类型
声明,初始化和分配
值类型和引用类型作为参数
字符串
字面字符串
System.String类
System.Text.StringBuilder类
字符串资源
类型转换
数值转换
字符串转换
将值转换为对象
内存管理
元数据表
JIT代码池
垃圾回收池
垃圾回收和数据
自动垃圾回收
托管数据的特殊处理
本地代码的手动内存管理
小结
P/Invoke概览
第4章 平台调用
何时使用P/Invoke
相对于Win32函数,为什么我们更喜欢.NET精简框架类
向托管代码中导入非托管代码
创建P/Invoke声明
一个简单的函数:MessageBox
非托管函数细节
函数返回值
开始:C风格的函数声明
可支持的P/Invoke函数参数
参数传递的限制
简单数据类型
通过传值和传引用来传递参数
结构体
通过传值传递字符串参数
类型的类型和参数的类型
数组
一个简单的程序:CallWin32
编写Win32动态连接库
开发工具
在DLL中声明C++++函数
手工进行P/Invoke参数传递
Marshal类
分配非托管内存空间
复制到非托管内存
从非托管内存创建对象
MessageWindow类
在非托管代码和托管代码间通信
在托管和非托管代码间通信的其他方法
比较P/Invoke支持
针对WindowsCE的差异
限制
.NET精简框架实现细节
小结
第2部分:创建用户界面
第5章 创建窗体
什么是窗体
从Form类继承窗体
属性,方法和事件
一个事件捕捉应用程序
操纵窗体
创建窗体
显示窗体
关闭窗体
孤立窗体
天气的示例应用程序
跟踪窗体
控件集
多线程
继承和可视化继承
小结
第6章 鼠标和键盘输入
输入概览
事件驱动输入
为鼠标和键盘输入使用控件
鼠标事件
脱字符号和光标
为鼠标输入编程
一个示例程序:DrawRectangles
用Cursor类设置鼠标光标
用Win32函数设置鼠标光标
键盘输入编程
键盘输入的来源
键盘事件
示例程序:KeyInput
示例程序:KeyState
示例程序:Caret
示例程序:Sleep
小结
什么是控件
可视的对象
第7章 深入控件
源于桌面版.NET框架
文档、开发和混淆
控件的分类
最根本的父控件
容器控件
单项控件
复合项控件
可视数值控件
背景控件
命令输入控件
属性、方法和事件
核心事件
Disposed事件
ParentChanged事件
Validating和Validated事件
EnabledChanged事件
GotFocus和LostFocus事件
核心属性
父/子属性
位置属性
数据绑定属性
控件状态属性
对象清理
坐标转换
线程安全函数调用
核心方法
Z轴次序
可见性
与控件类型信息打交道
对控件进行类型转换
比较两个控件引用
检查控件类型
五种常用控件
一个例程:时间跟踪器
书写代码
应用程序界面
编写事件处理程序
Label控件
可以显示;不能更新
透明性
TextBox控件
可以显示;可以输入
ListBox和ComboBox控件
ListBox控件中的列表
在我们的例程中使用ComboBox控件
按钮控件
触发操作
在运行时添加控件
为New按钮处理Click事件
为Add按钮处理Click事件
为Cancel按钮处理Click事件
一个例程:成员注册程序
RadioButton和CheckBox控件
使用单选按钮
构建成员注册程序
使用复选框
改进成员注册程序
小结
第8章 将数据绑定到控件
数据绑定
可数据绑定的控件
可数据绑定的对象
复杂数据绑定
对ListBox和ComboBox控件进行复杂数据绑定
简单数据绑定
BindingsCollection属性
格式化和解析
DataGrid控件
对DataGrid控件使用复杂数据绑定
在DataGrid控件中设置数据显示式样
建立表格和列的式样
在运行时进行设计
响应用户输入
对DataGrid控件使用简单数据绑定
访问DataGrid信息
提供“下一步”能力
提供实地编辑能力
提供自动实地编辑能力
小结
检测支持的属性、方法和事件
工具:ControlPME
第9章 深入更多的控件
桌面.NET框架程序中的.NET精简框架控件
菜单
开始菜单
程序菜单
示例程序:ProgramMemu
上下文菜单
示例程序:TextBoxClipboard
捕获事件
通过子类化来截取Win32消息
使用MessageWindow类来获取托管代码中的消息
工具栏
ToolBar和ImageList控件
工具栏按钮
ImageList控件和图片
示例程序:ToolBar
对话框
内置对话框
示例程序:FileDialogs
创建自定义的对话框
示例程序:DialogBoxes
小结
第10章 构建自定义控件
自定义控件
控件就是对象
设计建议
关于属性和方法
关于事件
从已有的.NET控件中衍生自定义控件
DateBox控件示例
WaterTemp对象的例子
创建复合控件
TaskStatus控件示例
创建新控件
设计技巧
为TaskStatus控件提供自己的显示功能
在自定义控件中添加动画
生活游戏
提供一致的速度和最小的抖动
对象重用
控件的主线程和它的服务线程
在多线程环境下建立自定义控件
多线程示例
在VisualStudio.NET的工具箱中添加自定义控件
将自定义控件放到工具箱中的障碍
开发设计时自定义控件
小结
第3部分:管理设备数据
第11章 存储
智能设备的数据存储
对象存储区
WindowsCE文件系统
基于ROM的文件
基于RAM的文件
File和Directory类
文件I/O
字节级别的I/O
高层次的I/O
数据的编码和解码
使用I/O类
文本文件I/O
二进制文件I/O
写入二进制数据
读取二进制数据
I/O和结构体
XML文件I/O
访问注册表
打开一个注册表键
映射注册表类型到托管类型
P/Invoke封装的需求
打开和访问注册表键
读取注册表值
写入注册表值
使用函数重载来访问数据库
使用注册表工具类
更新存储的示例应用程序来使用注册表
小结
第12章 ADO.NET编程
检查ADO.NET
一种分层方法
ADO.NET类
ADO.NET错误处理
使用数据集
创建和访问DataSet、DataTable和DataView对象
数据绑定
以XML读取和写入数据集
MicrosoftSQLServerCE
SQLServerCE文件
SQLServerCE语法
SQLServerCE查询分析器
创建一个SQLServerCE数据库实例
组装一个SQLServerCE数据库
获取和显示数据
更新SQLServerCE数据库
SqlCeDataAdapter类
查询模式信息
MicrosoftSQLServer
连接到SQLServer
创建命令对象
使用SQLSetver存储过程
用DataSet对象使用存储过程
数据集对象和并发性
WebServices
XMLXSD和SOAP
一个WebServices应用程序
一个WebServices的客户端应用程序
小结
第13章 同步移动数据
了解远程数据应用程序
远程数据接入RDA和合并复制
数据库连接性
IIS连接
创建虚拟目录
安装远程数据连接
配置另外的组件
使用RDA
RDA的性能和系统开销
RDA编程
使用合并复制
使用优良的设计,避免同步失败
配置合并复制
使用合并复制编程
在合并复制和RDA之间选择
小结
什么是ActiveSync
第14章 远程API
协作者和访客
ActiveSync的缺点
ActiveSync与WebServices的比较
ActiveSync编程接口
你需要创建托管代码的ActiveSync的应用程序吗
RAPI基本原理
RAPI函数
生成.NET Active Sync应用程序
RAPI启动和关闭
访问对象存储
使用RAPI访问移动设备文件
对设备注册表项的远程访问
对移动设备属性数据库的远程访问
自启动方法
回调方法
检测移动设备连接状态的改变
装载程序和DLL
运行移动设备端程序
装载移动设备端DLL
小结
第4部分:创建图形输出
第15章 .NET精简框架图形
.NET精简框架图形介绍
绘图面
绘图函数族
.NET精简框架图形
访问Graphics对象
显示屏绘图
在控件上绘图
Paint事件
非Paint事件绘图
光栅图形
指定颜色
创建刷子(Brush)
创建位图
绘制位图
示例程序:ShowBitmap
矢量图形
创建画笔
一个游戏:JaspersDots
小结
第16章 文本与字体
绘制文本
.NET精简框架支持的文本绘制
DrawString方法
一个示例程序:SimpleDrawString
字体选择
控件的字体属性
普通字体
示例程序:GenericFonts
创建命名字体
枚举字体
示例程序:FontPicker
一个示例库:FontList,一个Win32字体枚举DLL
本地代码字体
示例程序:RotateText
放置文本
文字大小和MeasureString方法
示例程序:MeasureString
文本对齐
示例程序:TextAlign
自动换行
示例程序:WordWrap
文本颜色
文本的前景和背景色
示例程序:TextColor
小结
第17章 打印
打印管道
打印机
I/O通道
打印任务
图形子系统
打印程序
打印输出编程
打印示例程序概述
PocketPC打印支持
打印对话框
直接打印
用PCL打印机直接打印
示例程序:PrintDirect
GDI绘制
GDI设计记录
WindowsCE支持的GDI函数
示例程序:PrintGDI
HP移动打印
PocketPC版HP移动打印
HP移动打印软件开发工具包
示例程序:PrintHPMobile
用PrinterCE绘制
PrinterCE库
示例程序:PrintField
小结
第5部分:附录
索引