20年前,当Windows刚诞生的时候(Windows 1.01),Paul Yao和David Durant的著作《Windows程序员指南》帮助许多程序员克服了面对Windows平台带来的困难,带领第一批程序员从MS-DOS的世界跨入Windows开发的殿堂。当.NET精简框架刚诞生的时候,二位专家又经过多年潜心跟踪与研究,并与.NET精简框架开发团队紧密合作,推出了《.NET精简框架编程》,带领广大Windows程序员从成熟的桌面开发转入潜力无限的移动及嵌入式设备开发。 \r\n 本书涵盖了.NET精简框架开发的方方面面,如语言基础、用户界面、数据管理、创建图形输出等。书中详细地描述了编程的具体方法,使没有. NET精简框架开发经验甚至没有Windows开发经验的程序员轻松上手。更难能可贵的是,书中还深入阐述了这些方法后面的来龙去脉及分析比较,使读者不仅Know How,而且Know why。 \r\n 本书的另一个显著特点是提供了大量的示例代码,以或大或小的例子形象展示了各种方法的应用场景和技巧。\r\n 可以说,不论你是刚入门的初学者还是经验丰富的高手,《.NET精简框架程序设计——C#版》都是你权威的指南和参考手册。\r\n 作者简介:\r\n Paul Yao是Paul Yao公司的总裁。Paul Yao是给软件工程师提供基于Microsoft Windows软件技术的教育和咨询服务的公司。他已经编写了七本关于Windows编程的书籍。包括与David Durant共同编写的关于Windows编程这个专题的第一本书Programmer''s Guide to Windows(Sybex,1987)。Paul还是MSDN的主要编辑之一,定期为Windows CE和Pocket Pc开发者撰写文章。
序\r\n前言\r\n致谢\r\n关于作者\r\n第1部分 基础知识\r\n 第1章 .NET精简框架体系结构\r\n Windows CE概述\r\n 什么是.NET\r\n .NET精简框架\r\n 小结\r\n 第2章 什么是.NET精简框架程序\r\n .NET精简框架程序的本质\r\n 使用Visual Studio .NET2003\r\n Cistern示例程序\r\n 添加类\r\n 小结\r\n 第3章 .NET类型系统\r\n 使用类型信息:命名空间引用和程序集引用\r\n 标准类型\r\n 字符串\r\n 类型转换\r\n 内存管理\r\n 小结\r\n 第4章 平台调用\r\n第2部分 创建用户界面\r\n 第5章 创建窗体\r\n 第6章 鼠标和键盘键入\r\n 第7章 深入软件\r\n 第8章 将数据绑定到控件\r\n 第9章 深入更多的控件\r\n 第10章 构建自定义控件\r\n第3部分 管理设备数据\r\n 第11章 存储\r\n 第12章 ADO.NET编程\r\n 第13章 同步移动数据\r\n 第14章 远程API\r\n第4部分 创建图形输出\r\n 第15章 .NET精简框架图形\r\n 第16章 文本与字体\r\n 第17章 打印\r\n第5部分 附录\r\n 索引
Preface
前言
我们感到很幸运,在过去的20年中,我们到全球各地把我们所知道的教授给程序员们。我们两人办了很多学习班,教了几千名聪明,主动性很强的软件工程师,测试工程师和开发经理。我们很喜欢和创新未来的人共事,也很高兴处在软件发展技术浪潮中的最边缘。我们从与这些学生的讨论中获益匪浅。这本书是我们对他们的支持表示感谢的一种方式。
我们曾为出版的第一本关于WINDOWS编程的书而共同工作过,这本书是Programmer's Guide to Windows (Sybex, 1987)。出版后,这本书帮助了很多程序员,使他们得以处理WINDOWS 1.01版所带来的挑战。这个版本的Windows于1985年11月问世,在当时开发者是用MS-DOS系统下的计算机工作的,没有硬盘、网络和网络服务器的支持。
在我们的第一本书问世17年来,情况有了很大改变。现在一个口袋大小的电脑就比80年代的台式系统拥有更多的内存和CPU处理能力。一个普通的桌面系统的计算能力比原来房间大的计算机更强。随着这种能力的增长而来的是给软件开发者提供的开发工具的引人注目的提高:在线编程参考,基于上下文的帮助,以及图形编辑器都为软件开发提供了支持。多亏有了这些工具,程序员们现在可以更为高效的工作。
随着计算能力和工具支持的增强,也使得编程接口的复杂度有了增加。即使.NET主动提供了一套比微软任何程序接口都更为组织有序的新的接口,它仍然非常大而复杂。如果有足够的时间,大部分程序员都能够驾驭这些复杂性 。但多数编程员没有足够的时间来边进行老板要求的新软件的开发边学习一项新的技术。
我们的首要任务是帮助你们这些软件工程师,来节省你们的时间。在本书中,我们精心挑选了多年的研究和程序样本,使你可以获得你所需要的信息。在我们的培训课上、我们的杂志文章中和我们在会议的讲演中也都是这样。我们了解我们的任务就是帮助软件工程师提高工作效率,把从学习软件开发中节省的时间用来迎合你所服务的终端用户的特殊需求(或者为精神和身体充电)。
What You Need to Use This Book
使用这本书时,你需要些什么
为使这本书发挥最大的作用,你需要如下这些东西。
Hardware
硬件
历来,软件开发者手头上总有速度最快性能最好的计算机系统。开发像Pocket PC 和Smartphone这样的智能设备也不例外。作为开始阶段,我们建议拥有以下东西:
装有Microsoft Windows 2000 或 Windows XP操作系统的台式机。
最小128M的RAM(推荐256M)
最小4GB的硬盘空间(推荐10GB)
装有Windows CE的设备(Pocket PC, Pocket PC 2002, Pocket PC 2003, Smartphone 2003, 或者其他装有Windows CE的设备)
严格来说,你不需要Windows CE设备,因为你可以在模拟器上运行你的软件,这些模拟器运行在你的开发系统上。然而,最终你会想在一个真实的装置测试你的软件,也就是你期望你的用户使用的装置。模拟器技术很好,应该说非常好。事实上,现在的模拟器很好地复制了设备上的软件 。但是硬件和相关的设备驱动程序,在实际设备上和运行在实际PC的模拟器上是不一样的。这是模拟器和实际设备的主要区别。当我们教Pocket PC 编程课时,我们建议与课者主要在设备上做测试。
这本书的焦点是在于在写代码,软件开发的本质就是花很多时间调试代码。因为这个原因,你希望除去所有影响你调试的事情。我们建议你在开发系统和智能设备系统之间建立一条网络连接,那将意味着你需要做以下事情:
台式系统的网卡(有线或无线的)
装有Windows CE设备上的网卡(有线或无线的)
Software
软件
开发工具可以在支持的任何Microsoft Windows版本上运行。然而,模拟器需要在32-bit 版本的操作系统上运行。这意味着你需要以下之一:
Microsoft Windows 2000 (装有Service Pack 2 或更新)
Microsoft Windows XP Professional
Microsoft Windows Server 2003
有了合适的操作系统,你就可以使用软件开发工具了。列于下面的第一项是必需的,其他项是最好有工具。
Microsoft Visual Studio .NET 2003 (必需).
(可选) Microsoft eMbedded Visual C++ 3.0 (for Pocket PC and Pocket PC 2002).
Microsoft eMbedded Visual C++ 4.0 (for Pocket PC 2003, Smartphone 2003,或更新).
P/Invoke向导,可以从Paul Yao公司获取,用于帮助创建从.NET精简框架调用本地代码所需的声明。(可以从http://www.paulyao.com/pinvoke了解关于这个工具的更多信息和下载试用版)
The Latest Version of the .NET Compact Framework
.NET Compact Framework的最新版本
随着我们完成这本书,微软发布了.NET Compact Framework的Service Pack 2。你应该升级最新版本吗(或者当我们读这个时有什么最新版本可以获得)?我一定说是的!这是一种新的技术, .NET Compact Framework小组一直在努力于改进和升级,使得这个库工作得更好更快。发布一个新库后,.NET Compact Framework小组 ——像其他的微软开发小组一样——暂停一两个周末,对于他们辛苦工作的奖励就是全部重新开始,创造一些更好的东西。最好的事情是他们喜欢他们做的——而且他们如此擅长做。
样本代码
你可以从下面的URL下载本书的代码:
http://www.paulyao.com/cfbook/code.
当你安装了从网站上下载的示例代码目录后,你会看到4个顶级目录:
• ..\VB 包括所有Visual Basic .NET示例.
• ..\CS 包括所有C# 示例.
• ..\CPP 包括 C/C++ 示例.
• ..\Tools 包括一些有用工具的二进制文件.
每个.NET精简框架程序有Visual Basic .NET 和 C#两种实现。一些示例是用C++写的,使用Windows API(也被称为Win32)。
在3个示例程序目录下(..\VB, ..\CS, and ..\CPP),每章有一个目录。在每章的目录下面,各个示例程序有自己的子目录。
例如,第五章一个名为FormEvents的示例程序的Visual Basic .NET版本在 ..\VB\Ch05_CreatingForms\FormEvents, C# 版本在 ..\CS\Ch05_ CreatingForms\FormEvents.
The Target Audience for This Book
这本书的目标读者
这本书是用来帮助the .NET Compact Framework的程序员。读者不需要有Windows 95/98/2000/XP, Windows CE, 或.NET的编程经验。同时,如果你有桌面windows的编程经验,那将很有帮助。
For Programmers Experienced with Windows CE
对于有Windows CE编程经验的读者
如果你有编写Windows CE程序的经验,你可能会想还需不需要.NET Compact Framework。是否需要决定于你用的是哪种工具和你期望做那种类型的工作。
如果你已经用eMbedded Visual Basic (eVB) 来编写Windows CE程序,你可能已经意识到微软计划停止对Evb的支持。写本书时,Pocket PC 2003 支持eVB,这是支持的最后一个平台。.NET Compact Framework是一个很好的替代。它设计得很好,为Visual Basic程序员提供的支持使得他们可以与C#程序员平起平坐。
如果你已经用过微软基类库(MFC),控件模版库(ATL),或者Windows 模版库 (WTL), 那么.NET Compact Framework的情况仍非常好。第一章描述了.NET Compact Framework和它的好处。新的.NET 程序范例为由曾工作与其它框架的程序员提供了非常多的好处。参与.NET Compact Framework的程序设计是进入.NET 世界的很好的一条路,因为这个库是建立在桌面.NET框架丰富的类库和特征上的。开始使用.NET Compact Framework的另一个好处是: .NET Compact Framework 程序设计的基本元素和其它基于.NET技术的程序设计元素是一样。所以现在学习.NET Compact Framework 将会帮助你学习用ASP.NET建立We
无封面