第1章 控制台本身 1
1.1 控制台的返回 2
1.2 程序的剖析 4
1.3 .NET命名空间 5
1.4 字符串格式化 7
1.5 Visual Basic数据类型 9
1.6 对象 12
1.7 共享方法 16
1.8 异常处理 18
1.9 引发异常 20
1.10 获取与设置属性 21
1.11 构造函数 24
1.12 实例与继承 27
1.13 更宏观的角度 30
1.14 命名约定 31
1.15 结束语 32
第2章 Windows Forms 33
2.1 消息框 34
2.2 窗体 39
2.3 显示窗体 41
2.4 我们要运行的应用程序 42
2.5 主题的演变 44
2.6 窗体属性 45
2.7 事件驱动的输入 46
2.8 处理Paint事件 48
2.9 显示文本 50
2.10 字体 51
2.11 笔刷 51
2.12 坐标点 52
2.13 特殊的Paint事件 54
2.14 多个窗体,多个处理程序 54
2.15 继承窗体 56
2.16 OnPaint方法 58
2.17 模块的必要性 59
2.18 事件与“On”方法 60
第3章 基本结构 64
3.1 类与结构 64
3.2 二维坐标点 65
3.3 坐标点数组 67
3.4 Size结构 68
3.5 浮点版本 69
3.6 Rectangle是Point和Size 70
3.7 Rectangle结构的属性与方法 71
3.8 大小合适的窗体 74
3.9 窗体与工作区 75
3.10 坐标点转换 78
3.11 Color结构 79
3.12 141个颜色名称 80
3.13 画笔与笔刷 81
3.14 系统颜色 82
3.15 已知的颜色 85
3.16 笔刷的选择 86
3.17 了解重绘操作 87
3.18 使文本显示在中央位置 89
3.19 测量字符串 92
3.20 矩形区域中的文本 93
4.2 文本行间距 97
4.1 系统信息 97
第4章 文本输出练习 97
4.3 属性值 98
4.4 格式化为列 100
4.5 对象的普遍性 102
4.6 列出系统信息 105
4.7 Windows Form与滚动条 107
4.8 滚动面板控件 108
4.9 ScrollableControl的继承 111
4.10 没有控件的滚动 112
4.11 实际的数值 114
4.12 保持更新 115
4.13 技巧 118
4.14 反射未来 119
第5章 直线、曲线与区域填充 124
5.1 如何取得Graphics对象 124
5.2 画笔简介 125
5.3 直线 126
5.4 打印简介 128
5.5 属性与状态 133
5.6 反锯齿 134
5.7 多条连接线 136
5.8 曲线与参数方程式 139
5.9 无所不在的矩形 142
5.10 一般的多边形 144
5.11 更简单的椭圆形 145
5.12 弧形与扇形 146
5.13 填充矩形、椭圆形与扇形 151
5.14 减1 153
5.15 多边形与填充模式 154
第6章 驾驭键盘 158
6.1 忽略键盘 158
6.2 取得输入焦点的对象 158
6.3 按键与字符 159
6.4 按下与放开按键 160
6.5 Keys枚举类型 162
6.6 测试修改键 170
6.7 实际检测 171
6.8 SysInfo的键盘接口 171
6.9 字符的KeyPress事件 173
6.10 控制字符 174
6.11 查看按键 174
6.12 调用Win32 API 178
6.13 使用外国键盘处理输出 180
6.14 输入焦点 183
6.15 遗漏的插入号 184
6.16 响应按键字符 187
6.17 由右到左的问题 190
第7章 页面与转换 192
7.1 通过文本的设备无关性 192
7.2 像素与实际量度之间的关系 192
7.3 每in的点数 195
7.4 打印机上每in的点数 196
7.5 手动转换 197
7.6 页面单位与页面缩放 199
7.7 画笔宽度 202
7.8 页面转换 205
7.9 保存图形状态 206
7.10 公制尺寸 207
7.11 任意坐标 210
7.12 页面转换无法做到的 212
7.13 自然转换 213
7.14 大图片 217
7.15 线性转换 217
7.16 矩阵简介 219
7.17 Matrix类 220
7.18 分歧与类似分歧 222
7.19 将转换组合起来 224
第8章 操纵鼠标 226
8.1 鼠标的缺点 226
8.3 一些基本定义 227
8.2 忽略鼠标 227
8.4 与鼠标相关的信息 228
8.5 鼠标滚轮 229
8.6 4个基本的鼠标事件 230
8.7 使用鼠标滚轮 232
8.8 鼠标移动 235
8.9 跟踪与捕捉鼠示 236
8.10 跟踪的风险 239
8.11 单击与双击 247
8.12 与鼠标相关的属性 248
8.13 进入、移出与停留 248
8.14 鼠标指针 250
8.15 点击测试的练习 256
8.16 添加键盘接口 258
8.17 让子控件工作 260
8.18 点击测试文本 264
8.19 使用鼠标涂鸦 265
第9章 文本与字体 270
9.1 Windows下的字体 270
9.2 话说铅字 271
9.3 字体高度与行间距 272
9.4 默认字体 273
9.5 字体的变化 274
9.6 以名称来建立字体 276
9.7 基于任何其他名称的点大小 279
9.8 单位的冲突 283
9.9 字体属性与方法 285
9.10 来自字体家族的新字体 290
9.11 了解设计度量 292
9.12 字体家族的数组 295
9.13 字体集合 300
9.14 DrawString的变量 301
9.15 文本反锯齿功能 303
9.16 测量字符串 305
9.17 StringFormat选项 307
9.18 网格调和与文本调和 308
9.19 水平对齐与垂直对齐 310
9.20 热键显示 314
9.21 裁剪与修剪 316
9.22 定位点 321
第10章 计时器与时间 327
10.1 Timer类 328
10.2 DateTime结构 331
10.3 本地时间与国际时间 333
10.4 间隔计数 336
10.5 全世界所使用的历法 338
10.6 清晰易懂的诠释 340
10.7 一个简易的区域特定时钟 344
10.8 数字时钟 347
10.9 模拟时钟 351
10.10 一个称为Jeu de Taquin的拼图游戏 356
第11章 图像与位图 361
11.1 位图支持概述 362
11.2 位图文件格式 363
11.3 载入与绘制 366
11.4 图像信息 370
11.5 呈现图像 374
11.6 容纳于一个矩形区域中 376
11.7 旋转与修剪 380
11.8 图像的部分显示 382
11.9 在图像上绘图 385
11.10 更深入Image类 389
11.11 Bitmap类 392
11.12 使用位图的Hello World 394
11.13 衬底 395
11.14 二进制资源 397
11.15 动画 400
11.16 图像列表 405
11.17 图片框 408
第12章 按钮、标签与滚动条 411
12.1 按钮与单击 411
12.2 键盘与鼠标 414
12.3 控件问题 415
12.4 深入按钮 416
12.5 外观与对齐 418
12.6 具有位图的按钮 421
12.7 一个或多个处理程序 423
12.8 绘制自己的按钮 424
12.9 锚定 428
12.10 停靠在时钟周围 430
12.11 窗体的子控件 433
12.12 Z顺序 435
12.13 复选框 436
12.14 3状态的复选框 439
12.15 Label控件 440
12.16 制表位和Tab键顺序 443
12.17 识别控件 444
12.18 自动缩放选项 446
12.18.1 Windows Form设计器如何使用自动缩放 447
12.18.2 有创意的AutoScaleBaseSize设置 448
12.18.3 深入了解自动缩放 449
12.19 16进制计算器 451
12.20 单选按钮与组框 454
12.21 滚动条 457
12.22 滑动条的替代方案 465
13.1 贝塞尔曲线样条 470
第13章 贝塞尔曲线与其他样条 470
13.2 更漂亮的时钟 474
13.3 同轴贝塞尔曲线 476
13.4 使用贝塞尔曲线来绘制圆形与圆弧 477
13.5 贝塞尔曲线艺术 479
13.6 数学导论 480
13.7 规范样条 484
13.8 规范样条导论 490
第14章 菜单 493
14.1 菜单与菜单项 493
14.2 菜单快捷键 496
14.3 第1个菜单 498
14.4 非传统的菜单 501
14.5 MenuItem属性与事件 503
14.6 选中菜单项 505
14.7 使用内容菜单 508
14.8 菜单项集合 511
14.9 标准菜单(一项提议) 516
14.10 所有者绘制选项 520
第15章 路径、区域与裁剪 528
15.1 问题及其解决方案 528
15.2 更正式地了解路径 532
15.3 创建路径 534
15.4 呈现路径 538
15.5 路径转换 541
15.6 其他路径修改 543
15.7 使用路径来裁剪 549
15.8 裁剪位图 553
15.9 区域与裁剪 556
第16章 对话框 559
16.1 您的第1个模式对话框 559
16.2 模式对话框的终止 563
16.3 接受与取消 565
16.4 屏幕位置 566
16.5 关于框 569
16.6 在对话框中定义属性 572
16.7 实现应用按钮 576
16.8 无模式对话框 579
16.9 通用对话框 583
16.10 选择字体与颜色 583
16.11 使用Windows注册表 589
16.12 打开文件对话框 593
16.13 保存文件对话框 600
第17章 笔刷与画笔 603
17.1 填入实心颜色 604
17.2 影线笔刷 604
17.3 呈现原点 611
17.4 纹理笔刷 613
17.5 线性渐变笔刷 617
17.6 路径渐变笔刷 624
17.7 拼接笔刷 627
17.8 画笔也可以是笔刷 633
17.9 虚线的样式 635
17.10 端点与联接 638
第18章 编辑、列表与数值微调 645
18.1 单行文本框 645
18.2 多行文本框 649
18.3 仿制【记事本】 651
18.4 拥有文件I/O的【记事本】仿制品 655
18.5 再谈【记事本】仿制品 663
18.6 特殊用途的文本框 675
18.7 RichTextBox控件 676
18.8 ToolTip 677
18.9 列表框 683
18.10 列表框+文本框=组合框 688
18.11 上-下控件 694
第19章 字体的乐趣 704
19.1 开始学习 704
19.2 画笔的文本 706
19.3 字体转换 712
19.4 文本与路径 720
19.5 非线性转换 732
第20章 工具栏与状态栏 738
20.1 基本的状态栏 738
20.2 状态栏与自动滚动 740
20.3 状态栏面板 742
20.4 StatusBarPanel属性 744
20.5 菜单说明 747
20.6 基本的工具栏 753
20.7 工具栏的变化 756
20.8 工具栏事件 758
20.9 工具栏样式 762
第21章 打印 770
21.1 打印机及其设置 770
21.2 页面设置 777
21.3 定义一个文件 779
21.4 处理PrintDocument事件 781
21.5 页面尺寸 787
21.6 打印控制器 790
21.7 使用标准的打印对话框 794
21.8 设置页面 797
21.9 预览打印 801
22.1 分隔 808
第22章 树视图与列表视图 808
22.2 树状视图与树状节点 819
22.3 树状视图中的图像 822
22.4 树状视图事件 824
22.5 节点导航 825
22.6 目录树 827
22.7 显示图像 832
22.8 列表视图基础 839
22.9 列表视图事件 845
第23章 图元文件 852
23.1 载入并呈现现有图元文件 853
23.2 图元文件的大小与呈现 854
23.3 将图元文件转换成位图 861
23.4 创建新的图元文件 863
23.5 图元文件边界矩形 869
23.6 图元文件与页面转换 871
23.7 图元文件的类型 874
23.8 枚举图元文件 876
第24章 剪贴与拖放 882
24.1 项与格式 882
24.2 小巧而强大的Clipboard类 883
24.3 从剪贴板取得对象 884
24.4 剪贴板数据格式 892
24.5 剪贴板查看程序 900
24.6 设置多个剪贴板格式 908
24.7 拖放(Drag and Drop) 912
附录A 文件与数据流 919
A.1 最重要的文件I/O类 919
A.2 FileStream属性与方法 921
A.3 FileStream的问题 925
A.4 其他的数据流类 925
A.5 读取与写入文本 926
A.6 二进制文件I/O 934
A.7 Environment类 937
A.8 剖析文件与路径名称 939
A.9 并行类 940
A.10 目录的处理 941
A.11 文件处理与信息 946
附录B 数学类 950
B.1 数值类型 950
B.2 检查整数溢出 951
B.3 Decimal类型 952
B.4 浮点数无穷大与NaN 954
B.5 Math类 956
B.6 浮点数余数 958
B.7 乘幂与对数 959
B.8 三角函数 960
附录C 字符串理论 963
C.1 Char类型 964
C.2 String构造函数与属性 966
C.3 复制字符串 968
C.4 转换字符串 969
C.5 串连字符串 970
C.6 比较字符串 972
C.7 搜索字符串 975
C.8 移除与填补 977
C.9 字符串处理 979
C.10 字符串格式化 979
C.11 数组排序与搜索 980
C.12 StringBuilder类 983