第1章 C#与Windows简介 1
1.1 Visual Studio.NET和C# 1
1.2 创建C#应用程序 1
1.3 第一个C#控制台应用程序 2
1.4 C#编程元素 5
1.4.1 数组 6
1.4.2 属性(attribute)、事件、索引器、属性以及版本转换 7
1.4.3 装箱、拆箱以及统一类型系统 9
1.4.4 类、结构和枚举 9
1.4.5 命名空间 11
1.4.6 预定义类型 12
1.4.7 语句 13
1.4.8 数值类型和引用类型 17
1.5 第一个C#Windows应用程序 17
1.5.1 其他程序细节 24
1.5.2 命名空间 24
1.5.3 窗体 25
1.5.4 设计者变量 26
1.5.5 初始化组件 26
1.5.6 事件处理程序 27
1.5.7 结束 27
1.6 小结 28
第2章 用户界面设计基础 29
2.1 回顾应用程序设计 29
2.2 为什么在Windows项目中使用C# 30
2.3 C#语言和Windows应用程序 30
2.4 基于事件的编程 31
2.5 C#中的Visual Studio工具 31
2.6 标准控件 32
2.7 控件属性 34
2.7.1 改变默认的控件属性 36
2.7.2 改变几个控件属性的快捷方法 37
2.7.3 对象名和标签 37
2.7.4 事件处理程序 37
2.7.5 用代码改变属性 38
2.8 创建优秀的用户界面 39
2.8.1 优秀设计的组成 39
2.8.2 使用栅格 40
2.8.3 控件基础知识 40
2.8.4 营业税计算器 42
2.8.5 设计其他的控件 45
2.9 优秀的设计技术 50
第3章 设计时控件属性 52
3.1 属性 52
3.2 属性详解 52
3.3 修改属性 55
3.3.1 按钮属性 55
3.3.2 复选框控件属性 57
3.3.3 颜色对话框控件属性 58
3.3.4 组合框控件属性 59
3.3.5 日期时间采集器控件属性 59
3.3.6 字体对话框属性 61
3.3.7 窗体颜色属性 62
3.3.8 分组框控件属性 63
3.3.9 水平滚动条和垂直滚动条控件属性 64
3.3.10 标签控件属性 65
3.3.11 列表框控件属性 66
3.3.12 主菜单属性 67
3.3.13 月份日历属性 68
3.3.14 图形框控件属性 69
3.3.15 进度条属性 70
3.3.16 单选按钮控件属性 71
3.3.17 文本框控件属性 73
3.3.18 工具栏属性 74
3.3.19 轨道条属性 75
3.4 编写代码控制属性 77
第4章 运行时控件属性 78
4.1 为控件编写代码 78
4.2 加上代码的属性 79
4.3 事件处理程序 79
4.4 动态修改控件属性 81
4.4.1 按钮属性 81
4.4.2 复选框控件属性 82
4.4.3 日期时间捕获器属性 84
4.4.4 窗体颜色属性 86
4.4.5 垂直滚动条和水平滚动条控件属性 87
4.4.6 标签控件属性 89
4.4.7 列表框控件属性 89
4.4.8 月份日历控件属性 91
4.4.9 图形框控件属性 92
4.4.10 进度条控件属性 93
4.4.11 单选按钮控件属性 95
4.4.12 文本框控件属性 97
4.4.13 轨道条属性 99
4.5 再次研究营业税计算器 100
4.5.1 合理使用控件的功能 102
4.5.2 项目代码 104
4.6 小结 109
第5章 事件 110
5.1 事件处理程序的快速回顾 110
5.2 事件 111
5.2.1 Activate 113
5.2.2 ButtonClick 114
5.2.3 ButtonDropDown 114
5.2.4 CheckStateChanged 115
5.2.5 CheckedChanged 115
5.2.6 Click 115
5.2.7 Closed 116
5.2.8 CloseUp 116
5.2.9 Closing 117
5.2.10 DateChanged 117
5.2.1 DateSelected 118
5.2.12 Deactivate 118
5.2.13 DoubleClick 118
5.2.14 DragDrop 119
5.2.15 DragEnter 119
5.2.16 DragLeave 120
5.2.17 DragOver 120
5.2.18 DrawItem 121
5.2.19 Enter 121
5.2.20 Format 122
5.2.21 FormatQuery 122
5.2.22 GiveFeedback 122
5.2.23 Help 123
5.2.24 InputLangChange 123
5.2.25 InputLangChangeRequest 124
5.2.26 KeyDown 124
5.2.27 KeyPress 125
5.2.28 KeyUp 125
5.2.29 Layout 126
5.2.30 Leave 126
5.2.31 MDIChildActivate 127
5.2.32 MenuComplete 127
5.2.33 MenuStart 127
5.2.34 MouseDown 128
5.2.35 MouseEnter 128
5.2.36 MouseHover 128
5.2.37 MouseLeave 129
5.2.38 MouseMove 130
5.2.39 MouseUp 130
5.2.40 Move 131
5.2.41 PanelClick 131
5.2.42 QueryContinueDrag 131
5.2.43 Resize 132
5.2.44 Scroll 132
5.2.45 TextChanged 133
5.2.46 UserString 133
5.2.47 Validated 134
5.2.48 Validating 134
5.2.49 ValueChanged 134
5.3 小结 135
第6章 输入 136
6.1 控件和窗体 136
6.1.1 使用文本框控件 137
6.1.2 使用滚动条控件 158
6.2 鼠标 168
6.3 更多的输入 176
第7章 多窗体、菜单与通用对话框 177
7.1 多窗体 177
7.2 菜单 184
7.2.1 为菜单项编写代码 184
7.2.2 在菜单项上放置选择标记 192
7.3 通用对话框 193
7.3.1 添加一个颜色对话框 193
7.3.2 添加一个字体对话框 199
7.4 独特的用户输入 205
第8章 输出 206
8.1 将它发送出去 206
8.2 消息框输出 206
8.3 用文本框或标签控件输出 211
8.4 用多行文本框控件输出 217
8.5 使用文本框控件实现表格式输出 221
8.6 使用窗体进行表格式输出 227
8.7 输出到打印机 232
8.8 其他的输出技术和格式 240
第9章 图形基础 241
9.1 System.Drawing命名空间 241
9.2 System.Drawing.Drawing2D命名空间 244
9.3 C#中的图形类 246
9.4 坐标系统 250
9.5 绘图面 254
9.6 图形属性 255
9.6.1 颜色 255
9.6.2 线条绘制样式 257
9.6.3 刷子填充样式 258
9.6.4 DrawAndFill项目 259
9.7 图形绘制元素 263
9.7.1 DrawArc 263
9.7.2 DrawEllipse 264
9.7.3 DrawLine 264
9.7.4 DrawPie 265
9.7.5 DrawPolygon 265
9.7.6 DrawRectangle 266
9.7.7 DrawString 266
9.7.8 FillEllipse 267
9.7.9 FillPie 267
9.7.10 FillPolygon 268
9.7.11 FillRectangle 269
9.7.12 DrawingPrimitives项目 269
9.8 其他图形技术 274
第10章 图像和图形 275
10.1 展示图像或图片 275
10.2 一个简单的动画例子 279
10.3 一个图表项目 287
10.4 一步该做什么 304
第11章 数值示例 305
11.1 基数变换计算器 305
11.2 素数计数器 312
11.3 三角函数表 319
11.3.1 Form2 319
11.3.2 Form1 324
11.4 在一个月中寻找天数 332
11.5 一天中的时间 339
11.6 统计 349
11.7 排序 356
11.8 接下来做什么 362
第12章 财务应用程序 363
12.1 在账户中定期存款 363
12.1.1 编写项目代码 364
12.1.2 定期投资与收益 370
12.1.3 从账户中定期取款 372
12.1.4 为定期取款算法编写项目代码 373
12.1.5 享用你的退休金 379
12.2 资产贬值 380
12.2.1 为窗体附上代码 380
12.2.2 资产贬值和数据共享 387
12.3 偿还贷款 388
12.3.1 为贷款偿还项目编写代码 389
12.3.2 查看贷款偿还选项 395
12.4 抵押分期付款表 397
12.4.1 为Mortgage项目编码 398
12.4.2 可能的收入税扣除 410
12.5 接下来做什么 411
第13章 专业质量的条形图表和饼图图表 412
13.1 条形图表 412
13.1.1 编写条形图表项目代码 413
13.1.2 绘制独特的条形图表 429
13.2 饼图图表 431
13.2.1 为饼图图表项目编写代码 432
13.2.2 绘制独特的饼图图表 444
13.3 下一步该做什么 445