书籍详情

.NET精简框架程序设计:C#版

.NET精简框架程序设计:C#版

作者:(美)Paul Yao,David Durant;刘新军译

出版社:Addison-Wesley/Pearson

出版时间:2006-06-01

ISBN:9787121027161

定价:¥80.00

购买这本书可以去
内容简介
  20年前,当Windows刚诞生的时候(Windows1.01),PaulYao和DavidDurant的著作《Windows程序员指南》帮助许多程序员克服了面对Windows平台带来的困难,带领第一批程序员从MS-DOS的世界跨入Windows开发的殿堂。当.NET精简框架刚诞生的时候,二位专家又经过多年潜心跟踪与研究,并与.NET精简框架开发团队紧密合作,推出了《.NET精简框架编程》,带领广大Windows程序员从成熟的桌面开发转入潜力无限的移动及嵌入式设备开发。本书涵盖了.NET精简框架开发的方方面面,如语言基础、用户界面、数据管理、创建图形输出等。书中详细地描述了编程的具体方法,使没有.NET精简框架开发经验甚至没有Windows开发经验的程序员轻松上手。更难能可贵的是,书中还深入阐述了这些方法后面的来龙去脉及分析比较,使读者不仅KnowHow,而且Knowwhy。本书的另一个显著特点是提供了大量的示例代码,以或大或小的例子形象展示了各种方法的应用场景和技巧。可以说,不论你是刚入门的初学者还是经验丰富的高手,《.NET精简框架程序设计——C#版》都是你权威的指南和参考手册。作者简介:PaulYao是PaulYao公司的总裁。PaulYao是给软件工程师提供基于MicrosoftWindows软件技术的教育和咨询服务的公司。他已经编写了七本关于Windows编程的书籍。包括与DavidDurant共同编写的关于Windows编程这个专题的第一本书Programmer'sGuidetoWindows(Sybex,1987)。Paul还是MSDN的主要编辑之一,定期为WindowsCE和PocketPc开发者撰写文章。
作者简介
  Paul Yao首先是一个一流的程序员。他在中学时代就开始写代码,那时他开始用HP 2000E微机。他的学识足够在一个分时操作公司得到一份工作,他13岁就使用DEC 10主机。Paul是Paul Yao公司的主席(http://www.paulyao.com),这个公司提供基于微软Windows软件技术的教育与咨询服务。他共写了七本Windows编程的书,而且是MSDN杂志的重要编辑,定期写一些开发者感兴趣的文章。Paul经常在业界会议发表演讲,在那里因为他把复杂问题讲得好懂而有趣得到好评。Paul在业余时间常写示例代码和软件工具,他最高兴的事情就是给公司客户举办培训研讨会。Paul的业余爱好包括运动和打猎。目前,Paul正在为2005的铁人三项全能运动接受训练。他和他的妻子Becky和儿子Jasper·住在华盛顿州的西雅图。
目录
1  .NET精简框架体系结构    1
Windows CE概述    2
设计目标    3
平台和Platform Builder    10
eMbedded Visual C++    11
什么是.NET    14
有效的.NET实现    14
.NET的规模与范围    15
三种.NET应用程序    17
通用编程要素    20
.NET精简框架    24
设计目标    24
.NET精简框架文件    28
.NET精简框架的能力    32
.NET精简框架的限制    37
小结    38
2  什么是.NET精简框架程序?    39
.NET精简框架程序的本质    39
使用.NET精简框架库    41
有图形用户界面    41
完全由源代码定义    41
有一个或多个System.Windows.Forms.Form类的派生类    42
使用Visual Studio .NET 2003    42
使用开发环境    47
查看设计器生成的代码    49
区域    52
Cistern示例程序    53
第1步:使用设计器添加控件    53
第2步:在程序中添加代码    58
添加类    62
创建WaterMath类    64
重载函数    65
使用WaterMath对象    65
定义和使用共享方法    66
理解命名空间    67
使用智能感知    69
小结    71
3  .NET类型系统    71
使用类型信息:命名空间引用和程序集引用    72
命名空间内容    72
访问命名空间    73
程序集引用    74
标准类型    77
值类型    77
引用类型    80
声明,初始化和分配    81
值类型和引用类型作为参数    82
字符串    83
字面字符串    83
System.String类    84
字符串资源    86
类型转换    88
数值转换    88
将值转换为对象    93
内存管理    94
元数据表    95
JIT代码池    95
自动垃圾回收    97
托管数据的特殊处理    99
本地代码的手动内存管理    104
小结    104
4  平台调用    105
P/Invoke概览    105
何时使用P/Invoke    106
相对于Win32函数,为什么我们更喜欢.NET 精简框架类    108
向托管代码中导入非托管代码    109
创建P/Invoke声明    109
非托管函数细节    112
函数返回值    115
开始:C风格的函数声明    116
参数传递的限制    118
简单数据类型    118
带符号与无符号的整型    120
通过传值和传引用来传递参数    120
通过传值传递字符串参数    121
结构体    121
类型的类型和参数的类型    126
数组    127
一个简单的程序:CallWin32    129
编写Win32动态连接库    133
开发工具    133
在DLL中声明C++函数    133
手工进行P/Invoke参数传递    135
Marshal类    136
分配非托管内存空间    137
复制到非托管内存    139
从非托管内存创建对象    141
在非托管代码和托管代码间通信    143
MessageWindow类    143
在托管和非托管代码间通信的其他方法    145
比较P/Invoke支持    145
针对Windows CE的差异    146
限制    146
.NET精简框架实现细节    148
小结    148
5  创建窗体    150
什么是窗体?    150
从Form类继承窗体    151
属性,方法和事件    152
一个事件捕捉应用程序    156
操纵窗体    158
创建窗体    158
显示窗体    160
关闭窗体    161
孤立窗体    162
天气的示例应用程序    163
跟踪窗体    165
控件集    167
多线程    168
继承和可视化继承    169
小结    174
6  鼠标和键盘输入输入概览    175
事件驱动输入    177
前端窗口    178
有效和失效    178
可见性    179
键盘输入    179
鼠标输入    180
为鼠标和键盘输入使用控件    182
控件对输入事件的支持    182
对标签控件的输入    185
脱字符号和光标    186
为鼠标输入编程    187
鼠标事件    187
自动鼠标捕获    188
鼠标事件处理    188
一个示例程序:DrawRectangles    190
绘制可伸缩的橡胶矩形    190
收集点    193
绘制矩形    195
鼠标调试技巧:以文本打印鼠标坐标    196
用Cursor类设置鼠标光标    197
用Win32函数设置鼠标光标    199
键盘输入编程    200
键盘输入的来源    200
键盘事件    203
示例程序:KeyInput    209
示例程序:KeyState    215
示例程序:Caret    217
示例程序:Sleep    221
小结    224
7  深入控件    225
什么是控件?    225
可视的对象    225
源于桌面版.NET框架    226
文档、开发和混淆    229
控件的分类    230
最根本的父控件    230
容器控件    230
单项控件    231
复合项控件    232
命令输入控件    233
属性,方法和事件    234
核心事件    234
ParentChanged事件    239
核心属性    243
父/子(parent/child)属性    244
位置属性    245
数据绑定属性    246
控件状态属性    246
核心方法    247
线程安全(Thread-Safe)函数调用    247
对象清理    247
坐标转换    248
Z轴次序    248
可见性    249
与控件类型信息打交道    249
对控件进行类型转换    250
比较两个控件引用    250
五种常用控件    251
一个例程:时间跟踪器 ( TimeTracker )    255
书写代码    256
应用程序界面    259
编写事件处理程序    260
Label 控件    262
可以显示;不能更新    262
透明性    263
TextBox控件    266
可以显示;可以输入    267
ListBox和ComboBox控件    268
ListBox控件中的列表    270
在我们的例程中使用ComboBox控件    271
按钮控件    272
触发操作    273
在运行时添加控件    273
为New按钮处理Click事件    274
为Add按钮处理Click事件    278
为Cancel按钮处理Click事件    279
RadioButton和CheckBox控件    280
一个例程: 成员注册程序    280
使用单选按钮    281
构建成员注册程序    282
使用复选框    284
改进成员注册程序    284
小结    288
8  将数据绑定到控件    289
数据绑定    289
可数据绑定的控件    290
可数据绑定的对象    291
复杂数据绑定    295
简单数据绑定    296
格式化和解析    298
DataGrid控件    300
对DataGrid控件使用复杂数据绑定    304
在DataGrid控件中设置数据显示式样    304
建立表格和列的式样    306
在运行时进行设计    308
响应用户输入    309
对DataGrid控件使用简单数据绑定    313
访问DataGrid信息    313
提供“下一步”能力    317
提供实地编辑能力    321
提供自动实地编辑能力    325
小结    332
9  深入更多的控件    333
检测支持的属性,方法和事件    333
工具:ControlPME    333
桌面.NET框架程序中的.NET精简框架控件    334
菜单    335
开始菜单    335
程序菜单    337
示例程序:ProgramMemu    340
上下文菜单    341
示例程序:TextBoxClipboard    341
在TextBox控件中支持剪贴板    343
捕获事件    346
通过子类化来截取Win32消息    348
使用MessageWindow类来获取托管代码中的消息    355
ToolBar和ImageList控件    357
工具栏    358
工具栏按钮    361
ImageList控件和图片    361
示例程序:ToolBar    363
对话框    368
内置对话框    368
示例程序:FileDialogs    370
创建自定义的对话框    371
设计Pocket PC对话框    372
编写自定义对话框    373
修正一个Pocket PC中的任务列表问题    374
示例程序:DialogBoxes    375
生成Options对话框    376
控制Options对话框    377
小结    381
10  构建自定义控件    383
自定义控件    383
控件就是对象    384
设计建议    385
关于属性和方法    389
关于事件    392
从已有的.NET控件中衍生自定义控件    394
DateBox控件示例    395
WaterTemp对象的例子    408
创建复合控件    418
TaskStatus控件示例    419
对组件之间关系的编程    421
创建新控件    423
设计技巧    423
Providing Our Own Display for the TaskStatus Control    424
为TaskStatus控件提供自己的显示功能    424
在自定义控件中添加动画    427
生活游戏    427
提供一致的速度和最小的抖动    431
对象重用    434
在多线程环境下建立自定义控件    435
控件的主线程和它的服务线程    435
多线程示例    437
在Visual Studio.NET的工具箱中添加自定义控件    442
将自定义控件放到工具箱中的障碍    442
开发设计时自定义控件    444
小结    453
11  存储    445
智能设备的数据存储    445
对象存储区    445
系统电源状态    446
安装型文件系统    447
Windows CE文件系统    447
基于ROM的文件    448
基于RAM的文件    448
文件I/O    449
File和 Directory类    452
字节级别的I/O    452
高层次的I/O    453
数据的编码和解码    454
使用I/O类    455
文本文件I/O    456
二进制文件I/O    458
写入二进制数据    459
读取二进制数据    460
I/O和结构体    460
XML文件I/O    462
访问注册表    466
打开一个注册表键    467
P/Invoke封装的需求    467
映射注册表类型到托管类型    468
打开和访问注册表键    469
读取注册表值    470
写入注册表值    471
使用函数重载来访问数据库    472
使用注册表工具类    473
更新存储的示例应用程序来使用注册表    476
小结    479
12  ADO.NET编程    481
检查ADO.NET    483
一种分层方法    483
ADO.NET类    485
ADO.NET错误处理    488
使用数据集    489
创建和访问DataSet, DataTable和DataView对象    490
数据绑定    493
以XML读取和写入数据集    500
Microsoft SQL Server CE    501
SQL Server CE文件    502
SQL Server CE语法    503
SQL Server CE查询分析器    505
创建一个SQL Server CE数据库实例    507
组装一个SQL Server CE数据库    508
取得和显示数据    510
更新SQL Server CE数据库    516
SqlCeDataAdapter类    517
查询模式信息    521
Microsoft SQL Server    525
连接到SQL Server    526
创建命令对象    532
使用SQL Server存储过程    532
用DataSet对象使用存储过程    537
数据集对象和并发性    539
Web Services    539
XML, XSD和SOAP    540
小结    551
13  同步移动数据    553
了解远程数据应用程序    554
远程数据接入RDA 和合并复制    555
IIS 连接    555
数据库连接性    556
安装远程数据连接    557
创建虚拟目录    557
配置另外的组件    560
使用 RDA    560
RDA的性能和系统开销    561
RDA编程    562
使用合并复制    569
使用优良的设计,避免同步失败    570
配置合并复制    572
使用合并复制编程    573
在合并复制和RDA之间选择    579
小结    579
附录:    579
14  远程 API    581
什么是 ActiveSync?    581
协作者和访客    583
ActiveSync 的缺点    583
ActiveSync 与 Web Services的比较    585
ActiveSync编程接口    586
你需要创建托管代码的ActiveSync的应用程序吗?    586
RAPI 基本原理    587
RAPI函数    588
生成 .NET ActiveSync 应用程序    593
RAPI 启动和关闭    593
访问对象存储    601
使用 RAPI 访问移动设备文件    602
对设备注册表项的远程访问    612
对移动设备属性数据库的远程访问    620
检测移动设备连接状态的改变    623
自启动方法    624
回调方法    624
装载程序和 DLL    629
运行移动设备端程序    629
装载移动设备端 DLL    630
小结    636
15  .NET精简框架图形    637
.NET精简框架图形介绍    637
绘图面    639
绘图函数族    640
.NET精简框架图形    641
文本输出绘制支持    643
对光栅输出的绘图支持    644
矢量输出绘图的支持    644
显示屏绘图    645
访问Graphics 对象    645
在控件上绘图    646
Paint事件    648
非Paint事件绘图    649
光栅图形    650
指定颜色    651
系统颜色    652
命名颜色    653
RGB值定义的颜色    654
创建刷子(Brush)    655
用系统颜色创建刷子    655
用命名颜色创建刷子    656
创建位图    656
位图:绘图面或绘图对象?    657
Bitmap类    657
创建空位图    658
从外部文件创建位图    659
从资源(Resource)创建位图    660
图像文件大小    663
绘制位图    664
以原图大小绘制整个位图    664
以原图大小绘制位图的一部分    664
以可变大小绘制部分位图    665
示例程序:ShowBitmap    667
矢量图形    672
创建画笔    673
一个游戏:JaspersDots    674
小结    683
16  文本与字体    685
绘制文本    685
.NET精简框架支持的文本绘制    68`5
DrawString方法    686
一个示例程序:SimpleDrawString    687
字体选择    688
控件的字体属性    689
普通字体    690
示例程序: GenericFonts    691
创建命名字体    693
枚举字体    696
示例程序:FontPicker    696
一个示例库:FontList,一个Win32字体枚举DLL    698
本地代码字体    702
示例程序:RotateText    705
放置文本    708
文字大小和MeasureString方法    709
示例程序:MeasureString    709
文本对齐    711
示例程序:TextAlign    711
自动换行    716
示例程序:WordWrap    716
文本颜色    718
文本的前景和背景色    718
示例程序:TextColor    719
小结    724
17  打印    725
打印管道    726
打印机    726
页面描述语言(PDL,Page Description Languages)    727
PCL    727
Postsctipt    727
I/O通道    728
打印任务    730
图形子系统    730
打印程序    731
打印输出编程    731
打印示例程序概述    732
示例打印程序的时间测试    733
我们的结论    734
Pocket PC打印支持    734
打印对话框    735
直接打印    739
用PCL打印机直接打印    740
示例程序:PrintDirect    741
GDI绘制    745
GDI设计记录    745
与设备无关的编程接口    746
Windows CE支持的GDI函数    746
GDI查询函数    747
GDI打印和绘图函数    747
GDI绘图属性    749
示例程序:PrintGDI    750
HP移动打印    753
Pocket PC版HP移动打印    754
HP移动打印软件开发工具包    755
Microsoft Visual Studio .NET支持的HP移动打印SDK    756
示例程序:PrintHPMobile    757
用PrinterCE绘制    757
PrintrCE库    759
示例程序:PrintField    761
小结    763
猜您喜欢

读书导航