首页 > 图书中心 > C#程序设计教程(第4版·微课视频版)

目录

目录

扫一扫 

源码下载

第 1部分 C#面向对象程序设计语言基础知识 

第 1章 C#程序设计导论 

..................................2 1.7.2 C#程序的书写规则 ................... 14 

1.1  程序设计语言 ...........................................2 1.8 类型的声明和使用 ................................ 15 

1.1.1  计算机和程序 ...............................2 1.8.1 类的声明 .................................... 15 

1.1.2  程序设计和编程语言 ...................2 1.8.2 对象的创建和使用 .................... 15 

1.1.3  计算思维和程序设计方法 ...........3 1.9 命名空间 ................................................ 16 

1.1.4  程序的编写和执行 .......................4 1.9.1 定义命名空间 ............................ 16 

1.2  C#语言概述..............................................4 1.9.2 访问命名空间 ............................ 16 

1.2.1  C#语言简介 ..................................4 1.9.3 命名空间别名 ............................ 17 

1.2.2  C#语言各版本的演变历史 ..........5 1.9.4 全局命名空间 ............................ 18 

1.2.3  C#特点和开发应用范围 ..............6 1.9.5 命名空间举例 ............................ 18 

1.3  C#语言的编译和运行环境 ......................7 1.9.6 外部别名 .................................... 19 

1.3.1  C#语言与 .NET Framework/ 1.10 注释...................................................... 19  .NET SDK .....................................7 1.10.1 单行注释 ................................ 19 

1.3.2  C#的运行环境 ..............................7 1.10.2 多行注释 ................................ 19 

1.3.3  C#的开发环境 ..............................8 1.10.3 内联注释 ................................ 20 

1.4  使用记事本创建简单的 C#程序 .............9 1.10.4 XML文档注释 ...................... 20 

1.4.1  Hello World程序 ..........................9 1.11 Main方法 ............................................ 21 

1.4.2  代码分析 .......................................9 1.11.1 Main方法概述 ....................... 21 

1.4.3  编译和运行结果 .........................10 1.11.2 Main方法声明 ....................... 21 

1.5  基于集成开发环境创建简单的 1.11.3命令行参数 ............................ 22  C#程序....................................................10 1.11.4 Main返回值 ........................... 23 

1.5.1  创建 Visual C#控制台应用1.11.5顶级语句 ................................ 24  程序.............................................11 1.12 数据输入和输出 .................................. 24 

1.5.2 编辑 Visual C#源代码文件 ........12 1.12.1 System.Console类概述 ......... 24 

1.5.3  编译和运行调试程序 .................13 1.12.2 控制台输入输出 .................... 25 

1.6  基于“ C#交互”窗口测试 C#代码1.12.3 格式化输出 ............................ 25 .................... 27

片段.........................................................13 第 2章数据类型、变量和常量 

1.6.1  C#交互窗口概述 ........................13 2.1 标识符及其命名规则 ............................ 27 

1.6.2  C#交互窗口使用示例 ................13 2.1.1 标识符 ........................................ 27 

1.7  C#程序的结构和书写规则 ....................14 2.1.2 保留关键字 ................................ 27 

1.7.1  C#程序的基本结构 ....................14 2.1.3 命名约定 .................................... 27 

2.2 变量 ........................................................28 2.11.1字符串的表示 ........................ 42 

2.2.1 变量的分类 .................................28 2.11.2内插字符串 ............................ 43 

2.2.2 变量的声明 .................................28 2.12 object类型........................................... 43 

2.2.3 变量的赋值和引用 .....................28 2.13 隐式类型 .............................................. 43 

2.2.4 变量的作用域 .............................29 2.14 类型转换 .............................................. 44 

2.2.5 ref局部变量( C# 7.0).............30 2.14.1 隐式转换................................ 44 

2.3 常量 ........................................................30 2.14.2 显式转换................................ 45 

2.3.1 文本常量 .....................................30 2.14.3 Convert类提供的类型

2.3.2 用户声明常量 .............................30  转换方法................................ 45 

2.4 数据类型 ................................................31 2.14.4 溢出检查和 checked

2.4.1 类型系统 .....................................31  关键字 .................................... 47 

2.4.2 值类型 .........................................32 2.15 元组...................................................... 48 

2.4.3 引用类型 .....................................32 2.15.1 元组概述................................ 48 

2.4.4 装箱和拆箱 .................................33 2.15.2 使用元组字面量创建

2.4.5 预定义数据类型 .........................33  元组对象 ............................... 48 

2.5 整型 ........................................................33 2.15.3 访问元组对象的元素 ............ 48 

2.5.1 预定义整数类型 .........................33 2.15.4 使用 Tuple类创建元组

2.5.2 整数类型的主要成员 .................34  对象 ....................................... 48 

2.5.3 整型常量 .....................................34 2.15.5 元组对象的解构 .................... 49 

2.5.4  整型变量的声明和使用 .............35 2.16 临时虚拟变量( Discard) ................ 49  .................... 50

2.6 浮点型 ....................................................35 第 3章语句、运算符和表达式 

2.6.1 浮点类型 .....................................35 3.1 语句........................................................ 50 

2.6.2 浮点类型的主要成员 .................36 3.1.1 C#语句的组成 ........................... 50 

2.6.3 浮点类型常量 .............................36 3.1.2 C#语句的示例 ........................... 50 

2.6.4 浮点变量的声明和使用 .............36 3.1.3 C#语句的使用 ........................... 53 

2.6.5 浮点数舍入误差 .........................37 3.2 运算符 .................................................... 53 

2.7 decimal型...............................................37 3.2.1 算术运算符 ................................ 54 

2.7.1 decimal类型 ...............................37 3.2.2 关系和类型测试运算符 ............ 56 

2.7.2 System.Decimal的主要成员 ......37 3.2.3 逻辑运算符 ................................ 56 

2.7.3 decimal常量 ...............................38 3.2.4 赋值运算符 ................................ 58 

2.7.4 decimal变量的声明和使用 .......38 3.2.5 字符串运算符 ............................ 59 

2.8 bool型 ....................................................38 3.2.6 位运算符 .................................... 59 

2.8.1 bool类型.....................................38 3.2.7 条件运算符 ................................ 61 

2.8.2 System.Boolean的主要成员 ......38 3.2.8 null相关运算符 ......................... 61 

2.8.3 布尔变量的声明和使用 .............39 3.2.9 其他运算符 ................................ 61 

2.9 char型.....................................................39 3.2.10 运算符优先级 .......................... 62 

2.9.1 char类型.....................................39 3.3 表达式 .................................................... 64 

2.9.2 System.Char类成员 ...................39 3.3.1 表达式的组成 ............................ 64 

2.9.3 字符常量 .....................................40 3.3.2 表达式的书写规则 .................... 64 

2.9.4  字符变量的声明和使用 .............40 3.3.3 表达式的示例 ............................ 64  ........................ 66

2.10 可以为 null的类型 ..............................41 第 4章程序流程和异常处理 

2.11 string数据类型 .....................................42 4.1 顺序结构 ................................................ 66 

4.2 选择结构 ................................................67 6.3 创建和使用对象 ...................................112 

4.2.1  if语句 .........................................67 6.3.1 对象的创建和使用 ...................112 

4.2.2  switch语句 .................................72 6.3.2 对象初始值设定项 ...................112 

4.2.3  模式匹配( C# 7.0) ..................74 6.4 分部类 ...................................................113 

4.3 循环结构 ................................................75 6.4.1 分部类的声明 ...........................113 

4.3.1  for循环 .......................................75 6.4.2 分部类的应用 ...........................114 

4.3.2 while循环...................................76 6.5 System.Object类和通用方法 ..............115 

4.3.3 do…while循环...........................77 6.5.1 System.Object类.......................115 

4.3.4 foreach循环................................79 6.5.2 System.Object类的通用

4.3.5  循环的嵌套 .................................79 方法...........................................115 

4.4 跳转语句 ................................................80 6.5.3 对象的比较 ...............................116 

4.4.1 goto语句.....................................80 6.6 对象的生命周期 ...................................117 

4.4.2  break语句...................................81 6.6.1 对象的创建 ...............................117 

4.4.3  continue语句..............................82 6.6.2 对象的使用 ...............................117 

4.4.4  return语句 ..................................82 6.6.3 对象的销毁 ...............................118  ...............................................119 

4.5 异常处理 ................................................83 第 7章类成员 

4.5.1  错误和异常 .................................83 7.1 类的成员概述 .......................................119 

4.5.2  异常处理概述 .............................83 7.1.1 类成员分类 ...............................119 

4.5.3  内置的异常类 .............................84 7.1.2 数据成员和函数成员 ...............119 

4.5.4  自定义异常类 .............................85 7.1.3 静态成员和实例成员 .............. 120 

4.5.5  引发异常 .....................................85 7.1.4 this关键字 ............................... 121 

4.5.6  捕获处理异常 try…catch… 7.1.5 类成员的访问修饰符 .............. 122  finally ..........................................86 7.2 字段和常量 .......................................... 123 

4.5.7  异常过滤器 .................................88 7.2.1 字段的声明和访问 .................. 123 

第 5章数组和指针 

........................................89 7.2.2 实例字段和静态字段 .............. 123 

5.1 数组 ........................................................89 7.2.3 常量字段 .................................. 124 

5.1.1  一维数组 .....................................90 7.2.4 只读字段 .................................. 124 

5.1.2  多维数组 .....................................92 7.2.5 可变字段 .................................. 126 

5.1.3  交错数组 .....................................95 7.3 方法...................................................... 126 

5.1.4  数组的基本操作和排序 .............96 7.3.1 方法的声明和调用 .................. 126 

5.1.5  作为对象的数组 .......................101 7.3.2 基于表达式声明方法

5.2 不安全代码和指针 ...............................103  (C# 6.0) ................................. 127 

5.2.1  不安全代码 ...............................103 7.3.3 参数的传递 .............................. 128 

5.2.2  指针...........................................104 7.3.4 引用返回( C# 7.0) ............... 131 

第 6章类和对象 

..........................................108 7.3.5 方法的重载 .............................. 132 

6.1 面向对象概念 .......................................108 7.3.6 实例方法和静态方法 .............. 132 

6.1.1  对象的定义 ...............................108 7.3.7 分部方法 .................................. 134 

6.1.2  封装...........................................108 7.3.8 外部方法 .................................. 134 

6.1.3  继承...........................................108 7.3.9 递归方法 .................................. 135 

6.1.4  多态性 .......................................109 7.3.10 迭代器方法 ............................ 136 

6.2 

目 录 

7.4.1 属性的声明和访问 ...................137 8.3.2 抽象方法 .................................. 161 

7.4.2 实例属性和静态属性 ...............139 8.4 密封类和密封方法 .............................. 162 

7.4.3 只读属性和只写属性 ...............139 8.4.1 密封类 ...................................... 162 

7.4.4  基于表达式的只读属性8.4.2 密封方法 .................................. 163  (C# 6.0)...................................139 8.5 接口...................................................... 164 

7.4.5 自动实现的属性 .......................139 8.5.1 接口声明 .................................. 164 

7.4.6 属性初始化( C# 6.0) ............140 8.5.2 接口成员 .................................. 164 

7.4.7  基于表达式的属性访问器8.5.3 接口实现 .................................. 165  (C# 7.0)....................................140 8.5.4 分部接口 .................................. 166 

7.4.8  使用 init初始化属性8.5.5 接口继承 .................................. 167  (C# 9.0) ..................................140 8.6 多态...................................................... 168 

7.5  索引器 ..................................................141 8.6.1 多态的概念 .............................. 168 

7.5.1 索引器的声明和访问 ...............141 8.6.2 通过继承实现多态性 .............. 168 

7.5.2 索引器的重载 ...........................142 8.6.3 通过方法重载实现多态性 ...... 170 

7.6  运算符重载和转换运算符 ...................143 8.6.4 通过方法重写实现多态性 ...... 170 

7.6.1  运算符重载 ...............................143 8.6.5 多态性综合举例 ...................... 171  ...................................... 173

7.6.2 转换运算符 ...............................144 第 9章委托和事件 

7.7  构造函数 ..............................................145 9.1 委托 .................................................... 173 

7.7.1 实例构造函数 ...........................145 9.1.1 委托的声明 ............................. 173 

7.7.2 私有构造函数 ...........................146 9.1.2 委托的实例化和调用 ............. 174 

7.7.3 静态构造函数 ...........................147 9.1.3 匿名方法委托 ......................... 176 

7.7.4 构造函数的重载 .......................148 9.1.4 多播委托 ................................. 177 

7.8  析构函数 ..............................................148 9.1.5 委托的异步调用 ..................... 178 

7.9  嵌套类 ..................................................150 9.1.6 委托的兼容性 ......................... 179 

7.9.1 嵌套类的声明 ...........................150 9.2 事件 .................................................... 179 

7.9.2 嵌套类和包含类的关系 ...........150 9.2.1 事件处理机制 ......................... 179 

7.9.3 嵌套类的访问 ...........................151 9.2.2 事件的声明和引发 ................. 181 

第 8章继承和多态 

......................................153 9.2.3 事件的订阅和取消 ................. 182 

8.1  继承和多态的基本概念 .......................153 9.2.4 静态事件和实例事件 ............. 183 

8.1.1 继承和多态 ...............................153 9.2.5 .NET Framework事件模型 .... 183 

8.1.2 继承的类型 ...............................153 9.2.6 综合举例:事件实现的

8.1.3  继承的层次关系 .......................154 步骤 ........................................ 183  .................................... 185

8.2  继承 ......................................................154 第 10章结构和枚举 

8.2.1 派生类 .......................................154 10.1 结构.................................................... 185 

8.2.2 base关键字 ...............................154 10.1.1 结构概述.............................. 185 

8.2.3 构造函数的调用 .......................155 10.1.2 结构的声明 .......................... 186 

8.2.4 类成员的继承 ...........................157 10.1.3 结构的调用 .......................... 186 

8.2.5 类成员的隐藏 ...........................158 10.1.4 分部结构.............................. 187 

8.2.6 虚方法和隐藏方法 ...................159 10.1.5 结构成员.............................. 187 

8.2.7 虚方法和重写方法 ...................159 10.1.6 嵌套结构.............................. 188 

8.3  抽象类和抽象方法 ...............................161 10.2 枚举.................................................... 188 

8.3.1 抽象类 .......................................161 10.2.1 枚举概述.............................. 188 

10.2.2  枚举声明...............................189 12.3.4 调用方信息特性类 .............. 212 

10.2.3  枚举的使用 ...........................190 12.3.5 全局特性.............................. 213 

10.2.4 Flags枚举 .............................191 12.4 自定义特性类 .................................... 214 

10.2.5  枚举的运算和操作 ...............191 12.5 使用反射访问特性 ............................ 214  ................................ 216

第 11章泛型 .................................................194 第 13章语言集成查询 

11.1泛型的基本概念 .................................194 13.1 相关语言要素 .................................... 216 

11.1.1  引例 ArrayList.......................194 13.1.1 初始值设定项 ...................... 216 

11.1.2   引例 List<T>.........................195 13.1.2 匿名类型 .............................. 217 

11.1.3   泛型的概念 ...........................195 13.1.3 Lambda表达式(匿名

11.2泛型的定义 .........................................195  函数) .................................. 217 

11.2.1   泛型的简单定义 ...................195 13.1.4 扩展方法 .............................. 218 

11.2.2   开放式泛型类型和封闭式13.2 LINQ基本操作 ................................. 219  泛型类型 ...............................196 13.2.1 LINQ基本概念 .................... 219 

11.2.3   泛型类型参数 .......................196 13.2.2 LINQ查询操作概述 ............ 219 

11.2.4   泛型类型参数的约束 ...........197 13.2.3 获取数据源 .......................... 220 

11.3泛型类 .................................................198 13.2.4 创建查询 .............................. 220 

11.3.1   泛型类的声明和使用 ...........198 13.2.5 执行查询 .............................. 221 

11.3.2   泛型类的继承规则 ...............198 13.3 标准查询运算符 ................................ 221 

11.4泛型接口 .............................................199 13.3.1 数据排序 .............................. 221 

11.4.1   泛型接口的声明和使用 .......199 13.3.2 数据筛选 .............................. 222 

11.4.2   泛型接口的继承和实现13.3.3 数据投影 .............................. 223  规则 ......................................200 13.3.4 数据分组 .............................. 223 

11.5泛型结构 .............................................200 13.3.5 连接运算 .............................. 224 

11.6泛型方法 .............................................201 13.3.6 数据分区 .............................. 226 

11.6.1   泛型方法的声明和使用 .......201 13.3.7 限定运算 .............................. 226 

11.6.2   泛型方法的设计规则 ...........201 13.3.8 聚合运算 .............................. 226 

11.7泛型委托和泛型事件 .........................202 13.3.9 集合运算 .............................. 227 

11.7.1   泛型委托 ...............................202 13.3.10生成运算 ............................ 228 

11.7.2   泛型事件 ...............................203 13.3.11元素操作 ............................ 228 

11.7.3   Func和 Action泛型委托 ......203 13.3.12串联运算 ............................ 229 

11.8  default关键字 .....................................204 13.3.13相等运算 ............................ 229 

11.9协变和逆变 .........................................204 13.3.14数据类型转换 .................... 229 

11.9.1  泛型类型转换 .......................204 13.4 LINQ to Objects................................. 230 

11.9.2  泛型委托的协变和逆变 .......205 13.4.1 LINQ to Objects概述 .......... 230 

11.9.3   泛型接口的协变和逆变 .......206 13.4.2 LINQ和字符串 .................... 230 

第 12章特性 ................................................208 13.4.3 LINQ和文件目录 ................ 234 ................ 237

12.1 特性概述 ............................................208 第 14章线程、并行和异步处理 

12.2 特性的使用 .........................................209 14.1 线程处理概述 .................................... 237 

12.3 预定义通用特性类 .............................209 14.1.1 进程和线程 .......................... 237 

12.3.1 

12.3.2 

12.3.3  

目 录 

14.2.2  创建和启动新线程 ...............238 14.6.6 同步事件和等待句柄 .......... 247 

14.3 线程和生命周期 .................................239 14.6.7 使用 Mutex同步代码块 ...... 248 

14.3.1  线程和生命周期的状态 .......239 14.7 线程池 ................................................ 249 

14.3.2  Thread类...............................240 14.7.1 线程池的基本概念 .............. 249 

14.3.3  线程的启动、终止、14.7.2 创建和使用线程池 .............. 249  挂起和唤醒 ...........................241 14.8 定时器 Timer ..................................... 250 

14.3.4  休眠(暂停)线程 14.9 并行处理 ............................................ 251  Sleep()...................................241 14.9.1 任务并行库 .......................... 251 

14.3.5 线程让步 Yield()...................242 14.9.2 隐式创建和运行任务 .......... 251 

14.3.6 线程加入 Join().....................242 14.9.3 显式创建和运行任务 .......... 252 

14.3.7 线程中断 Interrupt() .............242 14.9.4 任务的交互操作 .................. 252 

14.3.8 线程终止/销毁 Abort().........243 14.9.5 从任务中返回值 .................. 253 

14.4 前台线程和后台线程 .........................244 14.9.6 数据并行处理 ...................... 253 

14.5 线程优先级和线程调度 .....................244 14.10 异步处理.......................................... 254 

14.6 线程同步和通信 .................................246 14.10.1委托的异步调用 .............. 254 

14.6.1 线程同步处理 .......................246 14.10.2  async和 await关键字 ..... 255 

14.6.2  使用 lock语句同步代码块 .....246 14.11绑定.................................................. 256 

14.6.3  使用监视器同步代码块 .......247 14.11.1  静态绑定和动态绑定 ...... 256 

14.6.4  使用 MethodImplAttribute 14.11.2  动态语言运行时 .............. 256  特性实现方法同步处理 .......247 14.11.3  自定义绑定 ...................... 257 

14.6.5  使用 SynchronizationAttribute 14.11.4  语言绑定 .......................... 257  特性实现类同步处理 ...........247 14.11.5  dynamic类型 ................... 257

第 2部分 .NET Framework类库基本应用 

........................ 277

第 15章数值、日期和字符串处理 

.............260 第 16章文件和流输入输出 

15.1 数学函数 ............................................260 16.1 文件和流操作概述 ............................ 277 

15.1.1  Math类和数学函数 ..............260 16.2 磁盘、目录和文件的基本操作 ........ 278 

15.1.2  Random类和随机函数 .........262 16.2.1 磁盘的基本操作 .................. 278 

15.2 日期和时间处理 .................................264 16.2.2 目录的基本操作 .................. 278 

15.2.1  DateTime结构 ......................264 16.2.3 文件的基本操作 .................. 280 

15.2.2 TimeSpan结构......................265 16.3 文本文件的写入和读取 .................... 281 

15.2.3  日期格式化字符串 ...............266 16.3.1 文本文件的写入

15.3 字符串处理 .........................................266  (StreamWriter类) ............. 281 

15.3.1 String类 ................................266 16.3.2 文本文件的读取

15.3.2 StringBuilder类 ....................269  (StreamReader类) ............ 282 

15.3.3  字符编码...............................271 16.4 二进制文件的写入和读取 ................ 283 

15.4 正则表达式 .........................................272 16.4.1 二进制文件的写入

15.4.1 正则表达式语言 ...................272  (BinaryWriter类).............. 283 

15.4.2  正则表达式类 .......................275 16.4.2 二进制文件的读取

15.4.3 正则表达式示例 ...................275  (BinaryReader类)............. 284 

.................................... 302

16.5 随机文件访问 .....................................284 第 18章数据库访问 

16.6 通用 I/O流类 .....................................286 18.1 ADO.NET概述 ................................. 302 

第 17章集合和数据结构 

.............................287 18.1.1 ADO.NET的基本概念 ....... 302 

17.1 C#集合和数据结构概述 ....................287 18.1.2 ADO.NET的结构 ............... 302 

17.2 列表类集合类型 .................................289 18.1.3 .NET Framework数据

17.2.1 数组列表 ArrayList ..............289  提供程序 ............................. 302 

17.2.2  列表 List<T> ........................290 18.1.4 ADO.NET DataSet............... 304 

17.2.3  双向链表 LinkedList<T> .....290 18.2 使用 ADO.NET连接和操作数据库 .... 305 

17.3 字典类集合类型 .................................291 18.2.1 使用数据提供程序访问

17.3.1  哈希表 Hashtable..................291 数据库的步骤 ..................... 305 

17.3.2  字典 Dictionary<TKey, 18.2.2 范例数据库 Northwnd.mdf ... 306 TValue> ................................292 18.2.3 查询数据库表数据 .............. 308 

17.3.3  排序列表 SortedList.............293 18.2.4 插入数据库表数据 .............. 308 

17.3.4  泛型排序列表 SortedList 18.2.5 更新数据库表数据 .............. 309  <TKey, TValue> ...................294 18.2.6 删除数据库表数据 .............. 310 

17.3.5  排序字典 SortedDictionary 18.2.7 使用存储过程访问数据库 ... 310 <TKey, TValue> ...................295 18.3 使用 DataAdapter和 DataSet 

17.4 队列集合类型( Queue) ..................296 访问数据库 .........................................311 

17.5 堆栈集合类型( Stack)....................297 18.3.1 使用 DataAdapter和 DataSet 

17.6 散列集集合类型( HashSet<T>).......299  访问数据库的步骤 ..............311 

17.7 位集合 ................................................300 18.3.2 查询数据库表数据 .............. 313 

17.8 专用集合 ............................................301 18.3.3 维护数据库表数据 .............. 313

第 3部分 C#应用程序开发 

第 19章 Windows窗体应用程序 

................316 19.3.4 FontDialog对话框 ............... 332 

19.1 开发 Windows窗体应用程序 ............316 19.4 菜单和工具栏 .................................... 333 

19.1.1  Windows窗体应用19.4.1 MenuStrip控件 .................... 333  程序概述 ..............................316 19.4.2 ContextMenuStrip控件........ 333 

19.1.2  创建 Windows窗体应用19.4.3 ToolStrip控件 ...................... 333  程序的一般步骤 ...................318 19.4.4 菜单和工具栏应用举例 ...... 333 

19.1.3  窗体和控件概述 ...................320 19.5 多重窗体 ............................................ 335 

19.2 常用的 Windows窗体控件 ................320 19.5.1 添加新窗体 .......................... 335 

19.2.1  标签、文本框和命令按钮 ....321 19.5.2 调用其他窗体 ...................... 335 

19.2.2  单选按钮、复选框和分组 ....322 19.5.3 多重窗体应用举例 .............. 336 

19.2.3  列表选择控件 .......................324 19.6 多文档界面 ........................................ 337 

19.2.4  图形存储和显示控件 ...........326 19.6.1 创建 MDI父窗体 ................ 337 

19.2.5  Timer控件 ............................329 19.6.2 创建 MDI子窗体 ................ 337 

19.3 通用对话框 .........................................330 19.6.3 处理 MDI子窗体 ................ 337 

19.3.1 OpenFileDialog对话框 ........330 19.7 图形绘制 ............................................ 338 

19.3.2 SaveFileDialog对话框 .........330 19.7.1 GDI+图形绘制概述 ............. 338 

19.3.3  通用对话框应用举例 ...........331 19.7.2 绘制字符串 .......................... 339 

目 录 

19.7.3 绘制图形.................................339 21.5.2 使用数据服务器控件

第 20章 WPF应用程序 

...............................343  创建 Web页面..................... 374 

20.1 WPF应用程序概述 ...........................343 21.6 使用 ADO.NET连接和操作数据库 ... 376 

20.1.1  WPF简介..............................343 21.7 ASP.NET页面会话状态和页面

20.1.2  WPF应用程序的构成 ..........343 导航 .................................................... 377 

20.2 创建 WPF应用程序 ..........................346 21.7.1 ASP.NET Web应用程序

20.2.1  创建简单的 WPF应用上下文 .................................. 377  程序 ......................................346 21.7.2 ASP.NET Web应用程序

20.2.2  WPF应用程序布局 ..............347 事件...................................... 379 

20.2.3  WPF应用程序常用控件 ......349 21.7.3 ASP.NET Web页面导航 ...... 380 

20.3 WPF应用程序与图形和多媒体 ........352 21.8 ASP.NET Web应用程序的

20.3.1  图形和多媒体概述 ...............352 布局和导航 ........................................ 381 

20.3.2  图形、图像、画笔和21.8.1 ASP.NET Web母版页 .......... 381  位图效果 ..............................353 21.8.2 ASP.NET Web导航控件 ...... 382 

20.3.3  多媒体...................................358 21.8.3 应用举例:设计 ASP.NET 

20.3.4  动画.......................................361 Web站点.............................. 383 

第 21章 ASP.NET Web应用程序 

...............363 21.9 ASP.NET主题和外观 ....................... 387 

21.1 开发 ASP.NET Web应用程序 ...........363 21.9.1 ASP.NET主题和外观

21.1.1  ASP.NET Web应用程序概述...................................... 387  概述 ......................................363 21.9.2 定义主题 .............................. 387 

21.1.2  创建 ASP.NET Web应用21.9.3 定义外观 .............................. 387  程序 ......................................364 21.9.4 定义 CSS样式 ..................... 387 

21.2 ASP.NET Web页面............................365 21.9.5 在页面中使用主题 .............. 388 

21.2.1  ASP.NET Web页面概述 ......365 21.9.6 应用举例:使用 ASP.NET 

21.2.2  创建 ASP.NET页面 .............366 主题和外观自定义 Web

21.3  ASP.NET Web服务器控件 ................367 站点...................................... 389  ................................ 392

21.3.1  ASP.NET Web服务器第 22章综合应用案例 控件概述 ..............................367 22.1 多窗口文本编辑器系统设计 ............ 392 

21.3.2  使用标准服务器控件创建 22.1.1 系统基本功能 ...................... 392  Web页面 ..............................368 22.1.2 功能模块设计 ...................... 392 

21.4 验证服务器控件 .................................371 22.1.3 系统的实现 .......................... 392 

21.4.1  验证服务器控件概述 ...........371 22.2 ASP.NET网上书店系统的设计 ....... 396 

21.4.2  使用验证服务器控件22.2.1 系统总体设计 ...................... 396  创建 Web页面 .....................371 22.2.2 数据库设计 .......................... 396 

21.5 数据服务器控件 .................................374 22.2.3 功能模块设计 ...................... 397 

21.5.1  数据服务器控件概述 ...........374 22.2.4 系统的实现 .......................... 397

附 录

附录 A  .NET概述 

········································407附录 C  Visual Studio的下载、安装和使用 

····407

附录 B  C#编译器和预处理器指令 

··············407附录 D C#关键字和上下文关键字 

·············407

参考文献 ............................................................................................................................................................. 408 

版权所有(C)2023 清华大学出版社有限公司 京ICP备10035462号 京公网安备11010802042911号

联系我们 | 网站地图 | 法律声明 | 友情链接 | 盗版举报 | 人才招聘