首页>参考读物>计算机科学与技术>软件与程序设计

Visual C# 2005技术内幕
作者 : Kevin Hoffman
译者 : 李虎 许福 王晓博
出版日期 : 2007-05-17
ISBN : 7-111-21210-2
定价 : 59.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 502
开本 : 16开
原书名 : Microsoft Visual C# 2005 Unleashed
原出版社: SAMS
属性分类: 店面
包含CD :
绝版 : 未绝版
图书简介

Microsoft Visual C# 2005是一门容易掌握的语言,对那些有C、C++或Java编程经验的人来说更是如此。用C#编写.NET应用程序时,C#语言本身已经和.NET框架整合为一体,让开发者能够直接在.NET框架中工作,而不必再记忆冗长乏味的C#语法。
  本书提供了在.NET框架下用C#编写各类应用程序的详尽指南,包括C#语法、.NET编程核心概念、Windows窗体程序设计、ASP.NET 2.0程序设计以及Web服务等。可以从www.samspublishing.com下载本书中的所有示例和源代码。

  本书内容包括:
  ● 详细介绍.NET框架中的核心概念,包括公共类型系统、泛型、远程调用、委托和事件等。
  ● 使用GDI+编写高级用户界面。
  ● 多线程程序设计。
  ● 使用ClickOnce技术部署Windows窗体应用程序。
  ● 创建智能客户端程序和使用Web服务。
  ● 详尽阐述支持Ajax/Atlas风格的客户端回调技术。
  ● 确保ASP.NET应用程序的安全性。
  ● 使用新的ASP.NET提供者模型存取成员、大纲、站点地图、会话状态和角色信息。
  ● 利用ASP.NET 2.0的Web部件、主题和外观等新特征创建门户网站和个性化站点。
  ● COM+、分布式应用、加密和安全保护等高级主题。

图书特色

图书前言

假定你强迫自己回忆10年之前的一些场景,想想那时技术的快速发展。在“对象链接与嵌入(OLE)”还很时髦的年代,就算走在繁华的大街上,或许也看不到有人在用移动电话,也不会看到有人紧张地敲打掌上电脑。你肯定看不到有人在网吧里用平板电脑将人工绘制的应用软件设计图发送给位于世界某个遥远角落的开发组。
  在过去,为实现应用和应用构件之间的互联而进行的软件开发需要相当高超的技巧,要付出高昂的成本。确实,我们拥有了一些技术,如CORBA,但是它们只得到了有限的应用。
  今天,“互联性”已经非常普及,它已经成为软件开发中的强制性需求。当人们在一家具有互联网设施的咖啡厅里打开掌上电脑时,他们完全有理由相信自己能够在这里上网。如果不能上网,他们就会表达对店主的不满。翻开新购置的手机的机盖,人们不仅希望这个手机能够拍照,而且希望它能够将所拍摄的照片上传到互联网的某个中央节点,以便让照片被朋友、家人乃至整个互联网络所共享。他们希望手机能够下载铃声、游戏,甚至音乐和视频,如果不能,他们就有“退货还钱”的念头。
  互联性、性能和其他一些现代特征也是桌面软件和Web软件的强制性需求。人们希望他们的应用软件遵循“总能工作”这样一种准则,即使超负荷运转和恶意使用,也不用担心因为某种形式的数据丢失或损坏而带来不良后果。用户希望他们的Windows应用程序无论是否与互联网建立连接,都能正常工作。他们希望Web应用程序比以往有更快的响应速度,不仅看上去很棒,运行速度快,还希望它们记住他们喜欢什么,不喜欢什么,以及他们是谁。
  简而言之,用户对软件质量、特征和功能所提出的严格要求是前所未有的。今天的程序员必须编写出比以往更强大的应用软件,并且软件的编写过程还要快速、可靠和成本低廉。
  本书将引领软件开发者深入地探索运行在.NET框架2.0上的C#语言的最新版本Visual C# .NET 2005的特征、功能和能力。
  通过阅读本书,你将学到以下内容:
  ·C#语言基础知识和.NET框架2.0的核心特征,例如面向对象程序设计、泛型和其他基本概念,包括委托和事件驱动的编程技术。
  ·如何利用ADO.NET 2.0处理来自多个数据源的不同形式的数据,以及如何用C#编写SQL Server 2005的存储过程。
  ·创建具有丰富用户界面的、响应速度快的Windows Forms应用程序。
  ·通过鼠标点击部署来自Web或其他任何地方的Windows Forms应用程序。
  ·创建能够通过Internet搜索和检查新版本和补丁程序从而动态改变自身的Windows Forms应用程序。
  ·使用ASP.NET 2.0的新特征,创建ASP.NET 2.0应用程序。
  ·利用主控页(master page)、主题(theme)和外观(skin)等新特征创建具有一致感官风格的页面,允许用户选择自定义风格主题的Web站点。
  ·使用Web部件(Web Part)和Web部件页(Web Part Page)创建动态的、用户可控的内容页,其中包含了为特定用户或用户安全级别所定制的信息和功能。
  ·利用ASP.NET中新的提供者模型(Provider Model),在SQL Server 2005中用15分钟甚至更少的时间创建能够鉴别用户身份、存储用户成员角色、存储用户profile数据以及存储用户个人信息(例如对Web部件的偏好)的应用程序。
  ·在ASP.NET 2.0中利用客户端回调技术创建高度交互的、Ajax风格的用户界面。
  ·创建可定制、可重用的ASP.NET 2.0控件。
  ·创建和使用Web服务(Web Service)。
  ·使用远程调用和/或COM+来创建分布式的、互联的应用程序。

封底文字

Microsoft Visual C# 2005是一门容易掌握的语言,对那些有C、C++或Java编程经验的人来说更是如此。用C#编写.NET应用程序时,C#语言本身已经和.NET框架整合为一体,让开发者能够直接在.NET框架中工作,而不必再记忆冗长乏味的C#语法。 本书提供了在.NET框架下用C#编写各类应用程序的详尽指南,包括C#语法、.NET编程核心概念、Windows窗体程序设计、ASP.NET 2.0程序设计以及Web服务等。可以从www.samspublishing.com下载本书中的所有示例和源代码。 本书内容包括: ● 详细介绍.NET框架中的核心概念,包括公共类型系统、泛型、远程调用、委托和事件等。 ● 使用GDI+编写高级用户界面。 ● 多线程程序设计。 ● 使用ClickOnce技术部署Windows窗体应用程序。 ● 创建智能客户端程序和使用Web服务。 ● 详尽阐述支持Ajax/Atlas风格的客户端回调技术。 ● 确保ASP.NET应用程序的安全性。 ● 使用新的ASP.NET提供者模型存取成员、大纲、站点地图、会话状态和角色信息。 ● 利用ASP.NET 2.0的Web部件、主题和外观等新特征创建门户网站和个性化站点。 ● COM+、分布式应用、加密和安全保护等高级主题。

图书序言

Kevin Hoffman 的编程生涯从10岁开始。他几乎学习过所能了解到的所有编程语言,包括Pascal、C、C++、Delphi、Scheme、LISP、ASA、Perl和许多其他语言。学习了众多编程语言之后,他最终选中了C#,从此便沉醉于.NET框架下的C#程序设计。

作者简介

Kevin Hoffman:Kevin Hoffman:Kevin Hoffman 的编程生涯从10岁开始。他几乎学习过所能了解到的所有编程语言,包括Pascal、C、C++、Delphi、Scheme、LISP、ASA、Perl和许多其他语言。学习了众多编程语言之后,他最终选中了C#,从此便沉醉于.NET框架下的C#程序设计。

译者简介

李虎 许福 王晓博:李虎: 北京航空航天大学计算机学院教师,先后在北京航空航天大学材料科学与工程系及计算机学院取得学士和博士学位,主要从事计算机语言、系统软件和软件工程等领域的教学、研发以及IT知识产权方面的研究与实践等工作,曾获省部级科技进步奖,主编和翻译了多本教材和参考书,包括《UML和模式应用》、《人件集——人性化的软件开发》等。

译者序

2004年11月7日,微软在美国旧金山正式发布了Visual Studio 2005,作为企业级软件生命周期管理及开发工具,Visual Studio 2005能够帮助广大开发人员及其团队开发出更加高效、安全和可靠的解决方案。Visual Studio 2005同SQL Server 2005等进行了紧密集成,打破了设计、测试、开发和项目管理之间的障碍,能够让开发者在分散的环境之间实现更好的协作,提供了高效安全的企业级应用程序开发平台。
  Visual Studio 2005智能化集成的开发环境不仅提高了软件开发的效率,还降低了学习与掌握的门槛。Visual Studio 2005对.NET框架进行了全面升级,引入了静态与动态代码分析器,代码能够可视化表达并集成了单元测试工具与代码覆盖工具等。
  本书对Visual Studio 2005集成环境下的C#语言及其软件开发技术进行了全面翔实的介绍。本书具有以下几个主要特点:
  ·内容丰富实用。书中包含了C#语言、.NET框架、ASP.NET、ADO.NET、Web服务、分布式编程等方面的内容。既涵盖了最基本的C#语言程序设计知识,也介绍了Visual Studio 2005集成开发环境的特征和用法。不仅可满足Visual Studio 2005环境下一般程序设计人员的要求,也能满足想进一步提高应用技巧、解决疑难问题的高级程序设计人员的需求。
  ·提供了大量应用实例。书中既有说明单个技术和函数调用的小程序,也有体现综合应用的较大的应用程序案例。
  ·不仅讲解程序设计,也讲解软件设计。书中包括了大量与应用程序设计、开发有关的技巧、提示和注意事项,为读者设计大型的应用程序提供了良好的设计指导原则。
  本书由李虎、许福、王晓博、范思怡负责主体翻译,全书由李虎统稿。此外,曹剑挺、宋淼、曹羽中、张军、万钧、郭荣锋等参加了本书的部分翻译工作。

  李  虎
  2007年1月30日

图书目录

译者序
前言
第一部分  C# 2.0基础
第1章  C# 2.0简介 1
1.1  什么是.NET框架 1
1.1.1  .NET的演化 1
1.1.2  公共语言运行时 2
1.1.3  公共类型系统 3
1.1.4  清除废物:在垃圾收集环境中编码 3
1.2  C# 2.0中的变量 3
1.2.1  公共.NET类型 4
1.2.2  类型简写 4
1.2.3  值类型与引用类型 5
1.3  C#的基本语法 5
1.3.1  程序块 5
1.3.2  经典的“Hello World”例程 5
1.4  用C#能编写什么 7
1.5  小结 7
第2章  表达式和控制结构 8
2.1  分支和条件逻辑 8
2.1.1  布尔表达式介绍 8
2.1.2  简单条件语句 9
2.1.3  高级条件语句 11
2.2  循环和迭代 11
2.2.1  for 循环 12
2.2.2  while循环 12
2.2.3  do循环 13
2.3  小结 13
第3章  字符串和正则表达式 14
3.1  字符串 14
3.1.1  .NET框架中的字符串 14
3.1.2  格式化字符串 14
3.1.3  操纵和比较字符串 17
3.1.4  StringBuilder类介绍 18
3.2  正则表达式 19
3.2.1  输入确认 19
3.2.2  从输入中抽取数据 20
3.3  小结 20
第4章  数组和集合 21
4.1  数组 21
4.1.1  数组的声明和初始化 21
4.1.2  一维数组 22
4.1.3  多维数组 24
4.1.4  缺口型数组 26
4.2  集合 29
4.2.1  数组和集合的比较 29
4.2.2  ArrayList类 29
4.2.3  Hashtable类 31
4.2.4  Queue类 32
4.2.5  Stack类 34
4.2.6  SortedList类 35
4.3  小结 35
第5章  C#面向对象编程 36
5.1  面向对象设计 36
5.1.1  面向对象设计概述 36
5.1.2  类设计 36
5.1.3  接口设计 38
5.2  面向对象编程 38
5.2.1  创建简单的类 38
5.2.2  处理成员可见性 39
5.2.3  对象继承 41
5.2.4  多态简介 43
5.2.5  实现接口 44
5.3  小结 46
第6章  泛型简介 47
6.1  泛型概述 47
6.1.1  泛型的好处 47
6.1.2  类型参数介绍 48
6.1.3  对类型参数施加约束 48
6.2  创建泛型类型 50
6.2.1  创建泛型类 50
6.2.2  创建泛型方法 50
6.2.3  创建泛型接口 52
6.3  使用泛型集合 52
6.3.1  Dictionary类 52
6.3.2  List类 53
6.3.3  Queue类 53
6.3.4  Stack类 54
6.4  小结 54
第二部分  .NET框架2.0基础
第7章  I/O和持久化 55
7.1  流 55
7.2  基本文件I/O 58
7.2.1  创建文件和在文件中添加数据 58
7.2.2  从已有文件中读取数据 59
7.2.3  使用目录和文件系统 60
7.3  异步文件I/O 62
7.4  独立存储 63
7.5  小结 65
第8章  使用XML 66
8.1  XML文档的读写 66
8.2  用Xpath查询XML文档 69
8.3  用XSLT转换XML文档 71
8.4  用XSD确认XML文档 73
8.5  小结 75
第9章  事件和委托 76
9.1  委托简介 76
9.2  匿名方法 78
9.3  创建多播委托 80
9.4  事件简介 82
9.5  基于事件的高级编程 85
9.6  小结 89
第10章  多线程程序设计 90
10.1  线程编程基础 90
10.2  编写第一个多线程应用程序 92
10.2.1  线程的创建和运行 92
10.2.2  线程终止 93
10.2.3  线程挂起 95
10.2.4  线程休眠 95
10.2.5  线程合并 95
10.3  线程的同步和竞争 96
10.3.1  lock关键字 97
10.3.2  互斥体 97
10.3.3  监控器 99
10.3.4  Interlocked类 100
10.3.5  ReaderWriterLock类 100
10.3.6  使用手工或自动重置的事件 102
10.4  ThreadPool类 104
10.5  小结 105
第11章  反射 106
11.1  反射介绍 106
11.2  获得方法信息 107
11.3  获得成员信息 110
11.4  检查事件 112
11.5  创建和检查定制的代码属性 114
11.6  小结 116
第12章  程序集和应用程序域 117
12.1  程序集介绍 117
12.2  揭开程序集的面纱 117
12.3  创建和使用程序集 119
12.4  存储和获取程序集中的资源 121
12.5  本地化和卫星资源程序集 123
12.6  应用程序域介绍 125
12.7  用AppDomain类编程 126
12.8  小结 128
第13章  COM和Windows互操作性 129
13.1  C#中的互操作性 129
13.2  在.NET框架中使用COM对象 129
13.3  将.NET类包装为COM对象 132
13.4  访问非托管DLL中的代码 134
13.5  小结 136
第14章  代码访问安全性 137
14.1  代码访问安全性(CAS)介绍 137
14.2  使用和管理安全策略 138
14.3  强制安全 140
14.4  声明安全 144
14.5  小结 146
第15章  加密和数据保护 147
15.1  加密方法简介 147
15.1.1  私钥加密 147
15.1.2  公钥加密 148
15.1.3  散列 149
15.1.4  数字签名 149
15.2  使用私钥加密 149
15.3  使用公钥加密 151
15.4  使用散列和数字签名 153
15.5  使用数据保护API (DPAPI) 155
15.6  小结 157
第16章  优化.NET 2.0代码 158
16.1  理解装箱和拆箱 158
16.2  恰当地使用字符串操纵 160
16.3  构造高效的循环 160
16.4  加快应用程序启动速度 161
16.5  使用Performance Wizard进行
代码分析 162
16.6  小结 165
第三部分  .NET 2.0中的数据访问
第17章  ADO.NET基础 167
17.1  ADO.NET介绍 167
17.2  建立连接 167
17.2.1  构造连接字符串 167
17.2.2  使用DbConnection类 168
17.3  与数据源通信 170
17.3.1  执行命令 170
17.3.2  使用DataReader 173
17.3.3  使用模式发现 175
17.4  处理数据 176
17.4.1  DataSet介绍 177
17.4.2  使用DataAdapter 178
17.5  小结 181
第18章  ADO.NET高级技术 182
18.1  改进的DataTable 182
18.1.1  使用XML加载和保存DataTable 182
18.1.2  使用新的DataTableReader类 184
18.2  异步访问数据 185
18.3  批量更新数据 186
18.4  使用新的System.Transactions名字空间 189
18.4.1  显式使用事务 189
18.4.2  隐式使用事务 190
18.5  小结 193
第19章  ADO.NET数据提供者 194
19.1  ADO.NET中的数据提供者简介 194
19.2  使用提供者工厂 194
19.2.1  获得已安装的提供者工厂的列表 195
19.2.2  使用提供者工厂建立连接 195
19.3  使用连接字符串 197
19.4  数据源枚举 198
19.5  获得更多的提供者信息 199
19.5.1  使用RetrieveStatistics方法 199
19.5.2  从数据提供者获取模式信息 201
19.6  创建定制的ADO.NET数据提供者 201
19.7  小结 202
第20章  强类型数据集 203
20.1  有类型数据集简介 203
20.1.1  使用XSD模式创建有类型数据集 203
20.1.2  使用Designer创建有类型数据集 204
20.1.3  用有类型数据集编程 205
20.2  连接有类型数据集到活动数据 206
20.2.1  使用DataAdapter对象手工为
DataSet对象填充数据 206
20.2.2  使用TableAdapter对象为有类型DataSet对象填充数据 207
20.2.3  为有类型DataSet添加更多的查询 210
20.3  修饰有类型数据集 211
20.4  使用部分类扩展有类型数据集 213
20.5  小结 214
第21章  SQL Server 2005编程 215
21.1  SQL Server 2005 CLR宿主简介 215
21.2  用C#编写存储过程 215
21.3  用C#编写用户自定义函数 217
21.4  用C#创建用户自定义类型 219
21.5  使用新的服务器端SQL库 223
21.6  使用多活动记录集 226
21.7  小结 228
第四部分  开发ASP.NET 2.0 Web应用程序
第22章  ASP.NET 2.0和Web Forms介绍 229
22.1  ASP.NET 2.0简介 229
22.1.1  页面和控件层次 230
22.1.2  ASP.NET 2.0编译器介绍 230
22.1.3  安全性 230
22.1.4  状态管理 230
22.1.5  Web配置系统 231
22.2  理解ASP.NET页的生命周期 231
22.2.1  ASP.NET页的处理阶段 231
22.2.2  ASP.NET页生命周期中的事件 232
22.3  ASP.NET中的控件 235
22.4  创建和调试ASP.NET应用程序 237
22.4.1  ASP.NET应用程序的构造和部署 237
22.4.2  调试ASP.NET应用程序 238
22.5  处理事件和回递 239
22.6  使用客户端回调构建交互式
动态页面 241
22.7  小结 248
第23章  ASP.NET 2.0中的状态管理 250
23.1  应用程序状态 250
23.2  会话状态 252
23.2.1  默认的进程内状态提供者 253
23.2.2  ASP.NET状态服务器提供者 256
23.2.3  SQL Server会话状态提供者 259
23.2.4  处理会话状态事件 261
23.3  视图状态 263
23.4  Web Farm中的状态管理 264
23.4.1  在Web Farm中使用应用程序状态 264
23.4.2  在Web Farm中使用会话状态 265
23.4.3  在Web Farm中使用视图状态 265
23.5  小结 266
第24章  使用主控页 267
24.1  主控页出现之前 267
24.1.1  对GUI一致性的需求 267
24.1.2  在ASP.NET 1.1中创建一致的GUI 267
24.2  主控页介绍 268
24.2.1  主控页和内容页 268
24.2.2  创建第一个主控页 269
24.2.3  创建第一个内容页 270
24.2.4  使用默认的主控页 271
24.2.5 了解主控页的实质 271
24.3  高级主控页技术 272
24.3.1  嵌套的主控页 272
24.3.2  Master属性 273
24.3.3  强类型主控页 273
24.3.4  处理相对路径 274
24.4  小结 274
第25章  ASP.NET 2.0个性化和用户定制 275
25.1  利用主题和外观裁剪用户界面 275
25.2  ASP.NET用户大纲 278
25.2.1  配置应用服务 278
25.2.2  配置大纲提供者 279
25.2.3  使用ASP.NET大纲 280
25.3  利用主题和大纲进行用户定制 284
25.4  小结 286
第26章  Web Part介绍 287
26.1  Web Part基础 287
26.2  使用个性化提供者 289
26.3  创建第一个Web Part页 290
26.4  创建Web Part 297
26.5  创建可连接的Web Part 298
26.6 小结 302
第27章  构建表现力丰富的、数据驱动的
Web应用 303
27.1  ASP.NET数据绑定介绍 303
27.1.1  数据源模型 303
27.1.2  创建数据源 303
27.1.3  数据绑定控件的层次结构 305
27.2  使用数据绑定控件 306
27.2.1 使用GridView控件 307
27.2.2  使用DetailsView控件 307
27.2.3 使用FormView控件 307
27.2.4  使用TreeView控件 308
27.3  高级数据绑定技术 309
27.4  小结 310
第28章  ASP.NET应用程序安全保护 311
28.1  通过身份认证保护应用程序安全 311
28.1.1  Windows身份认证 311
28.1.2  通行证身份认证 312
28.1.3  窗体认证 313
28.1.4  用户成员管理 314
28.2  通过用户授权保护应用程序安全 317
28.3  ASP.NET安全保护控件 319
28.3.1  Login控件 319
28.3.2  LoginName控件 320
28.3.3  LoginStatus控件 320
28.3.4  LoginView控件 320
28.3.5  PasswordRecovery控件 321
28.3.6  ChangePassword控件 322
28.3.7  CreateUserWizard控件 322
28.4  高级ASP.NET安全保护 323
28.5  小结 325
第29章  创建定制的ASP.NET提供者 327
29.1  用户成员提供者 327
29.1.1  MerbershipProvider基类简介 327
29.1.2  实现一个用户成员模式 328
29.1.3  创建一个定制的用户成员提供者 329
29.1.4  配置和安装用户成员提供者 337
29.2  角色提供者 338
29.2.1  RoleProvider基类简介 338
29.2.2  实现一个角色模式 339
29.2.3  创建一个定制的角色提供者 339
29.2.4  配置和安装角色提供者 344
29.3  大纲提供者 345
29.3.1  ProfileProvider基类简介 345
29.3.2  实现一个大纲模式 345
29.3.3  创建一个定制的大纲提供者 346
29.3.4  配置和安装大纲提供者 351
29.4  其他的提供者 351
29.4.1  会话状态提供者简介 351
29.4.2  站点地图提供者简介 352
29.5  小结 353
第30章  开发ASP.NET控件 354
30.1  创建用户控件 354
30.2  创建服务器控件 357
30.3  使用服务器控件进行状态管理 360
30.4  小结 364
第31章  ASP.NET的管理和监控 365
31.1  新的健康监控系统简介 365
31.1.1  使用健康监控系统 366
31.1.2 创建自定义事件 369
31.1.3 创建自定义事件提供者 372
31.2  使用ASP.NET性能计数器 373
31.3  小结 375
第五部分  Web服务
第32章  提供Web服务 377
32.1  Web服务介绍 377
32.2  创建一个简单的“Hello World”
Web服务 378
32.3  创建事务型Web服务 385
32.4  Web服务中的状态管理 386
32.5  小结 387
第33章  Web服务高级编程 388
33.1  面向服务的架构设计 388
33.1.1  松耦合和依赖 388
33.1.2  日常生活中的SOA 389
33.2  Web服务发现 390
33.3  定制的SOAP头 393
33.4  编写安全的Web服务 395
33.5  Windows Forms与Web服务之间的
数据绑定 397
33.6  小结 398
第六部分  开发Windows Forms 2.0
应用程序
第34章  Windows Forms 2.0介绍 399
34.1  Windows Forms基础 399
34.2  创建Windows Forms应用程序 401
34.3  使用Windows Forms设计器 402
34.3.1  文档大纲窗口 402
34.3.2  用基准线对齐控件 403
34.3.3  创建可调整大小的窗体 404
34.4  设计优秀的用户界面要考虑的因素 405
34.4.1  颜色设计 405
34.4.2  尺寸设计 405
34.4.3  复杂性设计 405
34.4.4  点击数设计 405
34.4.5  感官直觉设计 406
34.5  小结 406
第35章  Windows Forms 控件库 407
35.1  公共控件工具箱 407
35.1.1  Button控件 407
35.1.2  CheckBox控件 407
35.1.3  CheckedListBox控件 407
35.1.4  ComboBox控件 408
35.1.5  DataTimePicker控件 408
35.1.6  Label控件 408
35.1.7  LinkLabel控件 408
35.1.8  ListBox控件 409
35.1.9  ListView控件 409
35.1.10  MaskedTextBox控件 409
35.1.11  MonthCalendar控件 410
35.1.12  NotifyIcon控件 410
35.1.13  NumericUpDown控件 410
35.1.14  PictureBox控件 411
35.1.15  ProgressBar控件 411
35.1.16  RadioButton控件 411
35.1.17  TextBox控件 411
35.1.18  RichTextBox控件 411
35.1.19  ToolTip控件 411
35.1.20  TreeView控件 412
35.1.21  WebBrowser控件 412
35.2  容器 412
35.2.1  FlowLayoutPanel控件 412
35.2.2  GroupBox控件 413
35.2.3  Panel控件 413
35.2.4  SplitContainer控件 413
35.2.5  TabControl控件 413
35.2.6  TableLayoutPanel控件 414
35.3  菜单和工具条 414
35.3.1  ContextMenuStrip控件 414
35.3.2  MenuStrip控件 414
35.3.3  StatusStrip控件 414
35.3.4  ToolStrip控件 415
35.3.5  ToolStripContainer控件 415
35.4  与数据有关的控件 415
35.4.1  DataSet控件 415
35.4.2  DataGridView控件 415
35.4.3  BindingSource控件 415
35.4.4  BindingNavigator控件 416
35.4.5  ReportViewer控件 416
35.5  构件工具箱组 416
35.5.1  BackgroundWorker构件 416
35.5.2  DirectoryEntry构件 416
35.5.3  DirectorySearcher构件 416
35.5.4  ErrorProvider构件 416
35.5.5  EventLog构件 417
35.5.6  FileSystemWatcher构件 417
35.5.7  HelpProvider构件 417
35.5.8  ImageList构件 418
35.5.9  MessageQueue构件 418
35.5.10  PerformanceCounter构件 418
35.5.11  Process构件 418
35.5.12  SerialPort构件 418
35.5.13  ServiceController构件 418
35.5.14  Timer构件 418
35.6  打印构件和打印控件 418
35.6.1  PageSetupDialog构件 419
35.6.2  PrintDialog构件 419
35.6.3  PrintDocument构件 419
35.6.4  PrintPreviewControl构件 419
35.6.5  PrintPreviewDialog构件 419
35.7  对话框构件 419
35.7.1  ColorDialog构件 419
35.7.2  FolderBrowserDialog构件 419
35.7.3  FontDialog构件 419
35.7.4  OpenFileDialog构件 420
35.7.5  SaveFileDialog构件 420
35.8  小结 420
第36章  高级用户界面编程 421
36.1  GDI+介绍 421
36.1.1  获得一个Graphics对象 421
36.1.2  创建“Hello GDI+”示例 422
36.1.3  绘制和填充形体 423
36.1.4  使用渐变色刷 425
36.2  创建有形状的窗体和控件 427
36.3  利用可视化继承 428
36.4  用户界面的全球化 429
36.5  小结 431
第37章  Windows Forms 2.0中的数据绑定 432
37.1  有类型数据集的数据绑定 432
37.1.1  使用Data Source窗口 432
37.1.2  在窗体中增加一个DataSet 433
37.1.3  有类型DataSet绑定的示例 434
37.2  BindingSource介绍 435
37.3  使用BindingNavigator 437
37.3.1  BindingNavigator基础 437
37.3.2  用户触发的绑定动作 437
37.4  使用DataGridView 439
37.4.1  DataGridView基础 439
37.4.2  在DataGridView中使用一个
ComboBox列 441
37.4.3  单元格的高级定制 442
37.4.4  DataGridView控件的“解绑定” 444
37.5  对象的数据绑定 445
37.5.1  对象的数据绑定基础 445
37.5.2  使用IEditableObject和
INotifyProperty Changed接口 446
37.6  父表-细节表绑定 450
37.7  小结 450
第38章  开发智能客户端 451
38.1  实际使用Web服务 451
38.2  使用新的应用程序设置系统 452
38.3  支持离线和在线操作 454
38.4  用户授权和身份认证 456
38.5  通过多线程使用Web服务 459
38.6  使用BackgroundWorker控件 460
38.7  小结 462
第39章  使用ClickOnce部署应用程序 463
39.1 ClickOnce介绍 463
39.2  发布ClickOnce应用程序 464
39.2.1  通过Web或网络共享部署 465
39.2.2  部署到CD 465
39.2.3  直接从Web或共享节点
发布应用程序 465
39.2.4  部署一个ClickOnce应用程序 465
39.3  更新ClickOnce应用程序 468
39.4  使用System.Deployment.Application
名字空间编程 470
39.5  小结 474
第40章  使用企业服务 475
40.1  注册服务构件 475
40.1.1  手工注册 475
40.1.2  自动注册 475
40.2  即时激活和对象池 478
40.3  入队构件 479
40.4  基于角色的安全管理 481
40.5  事务 481
40.6  共享属性 482
40.7  松耦合事件 485
40.8  小结 487
第七部分  开发企业级和分布式应用程序
第41章  远程调用 489
41.1  远程调用概述 489
41.1.1  MarshalByRefObject类介绍 490
41.1.2  一次调用对象与单体对象 490
41.2  使用远程信道 492
41.2.1  IPC信道 492
41.2.2  TCP信道 495
41.3  使用生命周期租期 498
41.4  用泛型实现远程调用 499
41.5  小结 502

教学资源推荐
作者: (美)Delores M. Etter; Jeanine A. Ingber 著
作者: [美]罗伯特·W. 塞巴斯塔(Robert W. Sebesta) 著
作者: Frank L. Friedman;Elliot B. Koffman
作者: 刘振安 刘燕君 孙忱
参考读物推荐
作者: 高彦杰 倪亚宇 著
作者: 张良均 杨坦 肖刚 徐圣兵 等著
作者: (美)John Robert Gardner,Zarella L.Rendon
作者: 斯琴巴图 杨利润