《.NET精简框架程序设计 Visual Basic .NET版》PDF下载

  • 购买积分:21 如何计算积分?
  • 作  者:(美)姚(Yao,P.),(美)杜朗(Durant,D.)著;刘新军等译
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2006
  • ISBN:7121025116
  • 页数:759 页
图书介绍:20年前,当Windows刚诞生的时候(Windows 1.01),Paul Yao和David Durant的著作《Windows程序员指南》帮助许多程序员克服了面对Windows平台带来的困难,带领第一批程序员从MS-DOS的世界跨入Windows开发的殿堂。当.NET精简框架刚诞生的时候,二位专家又经过多年潜心跟踪与研究,并与.NET精简框架开发团队紧密合作,推出了《.NET精简框架编程》,带领广大Windows程序员从成熟的桌面开发转入潜力无限的移动及嵌入式设备开发。本书涵盖了.NET精简框架开发的方方面面,如语言基础、用户界面、数据管理、创建图形输出。书中详细地描述了编程的具体方法,使没有.NET精简框架开发经验甚至Windows开发经验的程序员轻松上手。更难能可贵的是,书中还深入阐述了这些方法后面的来龙去脉及分析比较,使读者不仅Know How,而且Know Why。本书的另一个显著特点是提供了大量的示例代码,以或大或小的例子形象展示了各种方法的应用场景和技巧。可以说,不论你是刚入门的初学者还是经验丰富的高手,《.NET精简框架程序设计——VB版》都是你权威的指南和参考手册

第1部分:基础知识 1

第1章 .NET精简框架体系结构 3

WindowsCE概述 4

设计目标 5

平台和PlatformBuilder 11

eMbeddedVisualC++++ 12

什么是.NET 14

有效的.NET实现 15

.NET的规模与范围 15

三种.NET应用程序 17

通用编程要素 20

.NET精简框架 23

设计目标 24

.NET精简框架文件 27

.NET精简框架的能力 30

.NET精简框架的限制 35

小结 36

第2章 什么是.NET精简框架程序 37

.NET精简框架程序的本质 37

使用.NET精简框架库 38

有图形用户界面 38

完全由源代码定义 38

有一个或多个System.Windows.Forms.Form类的派生类 39

使用VisualStudio.NET2003 39

使用开发环境 42

查看设计器生成的代码 44

第1步:使用设计器添加控件 47

区域 47

Cistern示例程序 47

第2步:在程序中添加代码 52

添加类 56

创建WaterMath类 57

重载函数 58

使用WaterMath对象 59

定义和使用共享方法 59

理解命名空间 60

使用智能感知 62

小结 64

第3章 .NET类型系统 65

命名空间内容 66

使用类型信息:命名空间引用和程序集引用 66

访问命名空间 67

程序集引用 68

标准类型 69

值类型 69

引用类型 72

声明,初始化和分配 73

值类型和引用类型作为参数 74

字符串 75

字面字符串 75

System.String类 76

System.Text.StringBuilder类 78

字符串资源 78

类型转换 79

数值转换 80

字符串转换 82

将值转换为对象 84

内存管理 85

元数据表 85

JIT代码池 86

垃圾回收池 87

垃圾回收和数据 87

自动垃圾回收 88

托管数据的特殊处理 89

本地代码的手动内存管理 94

小结 94

P/Invoke概览 95

第4章 平台调用 95

何时使用P/Invoke 96

相对于Win32函数,为什么我们更喜欢.NET精简框架类 98

向托管代码中导入非托管代码 99

创建P/Invoke声明 99

一个简单的函数:MessageBox 100

非托管函数细节 102

函数返回值 105

开始:C风格的函数声明 105

可支持的P/Invoke函数参数 107

参数传递的限制 107

简单数据类型 107

通过传值和传引用来传递参数 109

结构体 110

通过传值传递字符串参数 110

类型的类型和参数的类型 115

数组 116

一个简单的程序:CallWin32 117

编写Win32动态连接库 121

开发工具 121

在DLL中声明C++++函数 121

手工进行P/Invoke参数传递 124

Marshal类 124

分配非托管内存空间 125

复制到非托管内存 127

从非托管内存创建对象 129

MessageWindow类 131

在非托管代码和托管代码间通信 131

在托管和非托管代码间通信的其他方法 133

比较P/Invoke支持 133

针对WindowsCE的差异 133

限制 134

.NET精简框架实现细节 135

小结 136

第2部分:创建用户界面 137

第5章 创建窗体 139

什么是窗体 139

从Form类继承窗体 140

属性,方法和事件 140

一个事件捕捉应用程序 145

操纵窗体 147

创建窗体 147

显示窗体 148

关闭窗体 149

孤立窗体 150

天气的示例应用程序 151

跟踪窗体 154

控件集 155

多线程 156

继承和可视化继承 157

小结 162

第6章 鼠标和键盘输入 163

输入概览 163

事件驱动输入 164

为鼠标和键盘输入使用控件 168

鼠标事件 173

脱字符号和光标 173

为鼠标输入编程 173

一个示例程序:DrawRectangles 176

用Cursor类设置鼠标光标 182

用Win32函数设置鼠标光标 183

键盘输入编程 184

键盘输入的来源 184

键盘事件 187

示例程序:KeyInput 191

示例程序:KeyState 197

示例程序:Caret 198

示例程序:Sleep 202

小结 204

什么是控件 205

可视的对象 205

第7章 深入控件 205

源于桌面版.NET框架 206

文档、开发和混淆 209

控件的分类 209

最根本的父控件 209

容器控件 210

单项控件 211

复合项控件 211

可视数值控件 212

背景控件 212

命令输入控件 212

属性、方法和事件 213

核心事件 213

Disposed事件 214

ParentChanged事件 217

Validating和Validated事件 217

EnabledChanged事件 219

GotFocus和LostFocus事件 220

核心属性 220

父/子属性 221

位置属性 222

数据绑定属性 223

控件状态属性 223

对象清理 224

坐标转换 224

线程安全函数调用 224

核心方法 224

Z轴次序 225

可见性 226

与控件类型信息打交道 226

对控件进行类型转换 226

比较两个控件引用 227

检查控件类型 227

五种常用控件 228

一个例程:时间跟踪器 231

书写代码 232

应用程序界面 235

编写事件处理程序 236

Label控件 237

可以显示;不能更新 238

透明性 238

TextBox控件 241

可以显示;可以输入 242

ListBox和ComboBox控件 243

ListBox控件中的列表 244

在我们的例程中使用ComboBox控件 245

按钮控件 246

触发操作 246

在运行时添加控件 247

为New按钮处理Click事件 247

为Add按钮处理Click事件 251

为Cancel按钮处理Click事件 252

一个例程:成员注册程序 253

RadioButton和CheckBox控件 253

使用单选按钮 254

构建成员注册程序 254

使用复选框 256

改进成员注册程序 256

小结 259

第8章 将数据绑定到控件 261

数据绑定 261

可数据绑定的控件 262

可数据绑定的对象 263

复杂数据绑定 266

对ListBox和ComboBox控件进行复杂数据绑定 267

简单数据绑定 267

BindingsCollection属性 268

格式化和解析 269

DataGrid控件 271

对DataGrid控件使用复杂数据绑定 272

在DataGrid控件中设置数据显示式样 274

建立表格和列的式样 275

在运行时进行设计 277

响应用户输入 278

对DataGrid控件使用简单数据绑定 281

访问DataGrid信息 282

提供“下一步”能力 285

提供实地编辑能力 289

提供自动实地编辑能力 293

小结 299

检测支持的属性、方法和事件 301

工具:ControlPME 301

第9章 深入更多的控件 301

桌面.NET框架程序中的.NET精简框架控件 302

菜单 303

开始菜单 303

程序菜单 304

示例程序:ProgramMemu 306

上下文菜单 307

示例程序:TextBoxClipboard 308

捕获事件 312

通过子类化来截取Win32消息 314

使用MessageWindow类来获取托管代码中的消息 321

工具栏 324

ToolBar和ImageList控件 324

工具栏按钮 326

ImageList控件和图片 327

示例程序:ToolBar 329

对话框 333

内置对话框 333

示例程序:FileDialogs 334

创建自定义的对话框 336

示例程序:DialogBoxes 339

小结 344

第10章 构建自定义控件 345

自定义控件 345

控件就是对象 346

设计建议 346

关于属性和方法 350

关于事件 353

从已有的.NET控件中衍生自定义控件 355

DateBox控件示例 356

WaterTemp对象的例子 367

创建复合控件 376

TaskStatus控件示例 377

创建新控件 381

设计技巧 381

为TaskStatus控件提供自己的显示功能 382

在自定义控件中添加动画 385

生活游戏 385

提供一致的速度和最小的抖动 388

对象重用 391

控件的主线程和它的服务线程 392

在多线程环境下建立自定义控件 392

多线程示例 394

在VisualStudio.NET的工具箱中添加自定义控件 399

将自定义控件放到工具箱中的障碍 400

开发设计时自定义控件 401

小结 408

第3部分:管理设备数据 409

第11章 存储 411

智能设备的数据存储 411

对象存储区 411

WindowsCE文件系统 413

基于ROM的文件 414

基于RAM的文件 414

File和Directory类 415

文件I/O 415

字节级别的I/O 416

高层次的I/O 417

数据的编码和解码 419

使用I/O类 420

文本文件I/O 422

二进制文件I/O 424

写入二进制数据 424

读取二进制数据 425

I/O和结构体 426

XML文件I/O 427

访问注册表 432

打开一个注册表键 432

映射注册表类型到托管类型 433

P/Invoke封装的需求 433

打开和访问注册表键 434

读取注册表值 435

写入注册表值 436

使用函数重载来访问数据库 436

使用注册表工具类 437

更新存储的示例应用程序来使用注册表 441

小结 444

第12章 ADO.NET编程 445

检查ADO.NET 447

一种分层方法 447

ADO.NET类 448

ADO.NET错误处理 451

使用数据集 452

创建和访问DataSet、DataTable和DataView对象 453

数据绑定 456

以XML读取和写入数据集 461

MicrosoftSQLServerCE 463

SQLServerCE文件 464

SQLServerCE语法 464

SQLServerCE查询分析器 467

创建一个SQLServerCE数据库实例 467

组装一个SQLServerCE数据库 469

获取和显示数据 471

更新SQLServerCE数据库 476

SqlCeDataAdapter类 477

查询模式信息 481

MicrosoftSQLServer 485

连接到SQLServer 486

创建命令对象 491

使用SQLSetver存储过程 492

用DataSet对象使用存储过程 496

数据集对象和并发性 498

WebServices 498

XMLXSD和SOAP 499

一个WebServices应用程序 500

一个WebServices的客户端应用程序 506

小结 508

第13章 同步移动数据 509

了解远程数据应用程序 510

远程数据接入RDA和合并复制 510

数据库连接性 511

IIS连接 511

创建虚拟目录 513

安装远程数据连接 513

配置另外的组件 515

使用RDA 516

RDA的性能和系统开销 516

RDA编程 517

使用合并复制 524

使用优良的设计,避免同步失败 524

配置合并复制 527

使用合并复制编程 528

在合并复制和RDA之间选择 533

小结 533

什么是ActiveSync 535

第14章 远程API 535

协作者和访客 536

ActiveSync的缺点 537

ActiveSync与WebServices的比较 539

ActiveSync编程接口 539

你需要创建托管代码的ActiveSync的应用程序吗 540

RAPI基本原理 541

RAPI函数 541

生成.NET Active Sync应用程序 542

RAPI启动和关闭 546

访问对象存储 553

使用RAPI访问移动设备文件 554

对设备注册表项的远程访问 564

对移动设备属性数据库的远程访问 572

自启动方法 575

回调方法 575

检测移动设备连接状态的改变 575

装载程序和DLL 580

运行移动设备端程序 580

装载移动设备端DLL 581

小结 586

第4部分:创建图形输出 587

第15章 .NET精简框架图形 589

.NET精简框架图形介绍 589

绘图面 590

绘图函数族 592

.NET精简框架图形 593

访问Graphics对象 597

显示屏绘图 597

在控件上绘图 598

Paint事件 600

非Paint事件绘图 601

光栅图形 602

指定颜色 602

创建刷子(Brush) 606

创建位图 608

绘制位图 615

示例程序:ShowBitmap 618

矢量图形 623

创建画笔 624

一个游戏:JaspersDots 624

小结 635

第16章 文本与字体 637

绘制文本 637

.NET精简框架支持的文本绘制 637

DrawString方法 638

一个示例程序:SimpleDrawString 639

字体选择 640

控件的字体属性 641

普通字体 641

示例程序:GenericFonts 643

创建命名字体 645

枚举字体 647

示例程序:FontPicker 648

一个示例库:FontList,一个Win32字体枚举DLL 650

本地代码字体 653

示例程序:RotateText 657

放置文本 659

文字大小和MeasureString方法 660

示例程序:MeasureString 660

文本对齐 661

示例程序:TextAlign 662

自动换行 666

示例程序:WordWrap 667

文本颜色 669

文本的前景和背景色 669

示例程序:TextColor 669

小结 674

第17章 打印 675

打印管道 676

打印机 676

I/O通道 678

打印任务 679

图形子系统 680

打印程序 681

打印输出编程 681

打印示例程序概述 682

PocketPC打印支持 684

打印对话框 685

直接打印 689

用PCL打印机直接打印 690

示例程序:PrintDirect 690

GDI绘制 694

GDI设计记录 695

WindowsCE支持的GDI函数 696

示例程序:PrintGDI 699

HP移动打印 702

PocketPC版HP移动打印 703

HP移动打印软件开发工具包 704

示例程序:PrintHPMobile 705

用PrinterCE绘制 706

PrinterCE库 708

示例程序:PrintField 710

小结 713

第5部分:附录 715

索引 717