第一部分 教程 1
第1章 Visual C++.NET开发环境 1
1.1 安装和设置 1
1.1.1 Visual Studio 2008安装 1
1.1.2 默认环境设置 2
1.1.3 重置默认环境 3
1.2 认识开发环境 4
1.2.1 开发环境简介 4
1.2.2 窗口操作 5
1.2.3 初试Form项目 6
1.3 解决方案和资源管理 10
1.3.1 项目和解决方案概念 10
1.3.2 解决方案资源管理器 10
1.3.3 类视图 11
1.3.4 属性管理器 11
1.4 使用代码编辑器 12
1.4.1 字体和颜色 12
1.4.2 选择和更改代码 13
1.4.3 代码大纲 13
1.4.4 书签和代码定位 14
习题 16
第2章 C++/CLI编程基础 17
2.1 C++/CLI框架 17
2.1.1 C++/CLI概述 17
2.1.2 创建控制台程序 18
2.1.3 理解程序框架 19
2.1.4 修改并添加代码 20
2.1.5 生成和运行 20
2.2 数据及其类型 21
2.2.1 变量 21
2.2.2 基本值类型 23
2.2.3 基本引用类型 27
2.2.4 常量 28
2.3 运算符 31
2.3.1 算术运算符 31
2.3.2 赋值运算符 33
2.3.3 关系运算符 34
2.3.4 逻辑运算符 34
2.3.5 位运算符 35
2.3.6 条件和逗号运算符 36
2.4 基本语句 36
2.4.1 表达式语句、空语句和块语句 36
2.4.2 if和switch语句 37
2.4.3 while和do-while循环 40
2.4.4 for循环 42
2.4.5 for each循环 43
2.4.6 break语句 44
2.4.7 continue语句 44
2.5 函数 45
2.5.1 函数的定义 45
2.5.2 函数的调用和声明 47
2.5.3 全局变量和局部变量 48
2.5.4 函数的默认形参值 49
2.5.5 函数重载 50
习题 51
第3章 C++/CLI编程进阶 53
3.1 跟踪句柄和引用 53
3.1.1 跟踪句柄和^ 53
3.1.2 跟踪引用和% 54
3.2 C++/CLI枚举 54
3.2.1 枚举定义 54
3.2.2 枚举常量的类型和值 56
3.2.3 枚举常量的运算 56
3.3 C++/CLI数组 57
3.3.1 CLR数组 57
3.3.2 数组的排序及查找 59
3.3.3 多维数组 61
3.3.4 数组的数组 62
3.4 C++/CLI字符串 63
3.4.1 连接字符串 64
3.4.2 修改字符串 65
3.4.3 比较字符串 66
3.4.4 搜索字符串 67
3.4.5 子串和拆分 68
3.4.6 函数和main实参 69
3.5 控制台输入输出及格式 70
3.5.1 控制台输入 70
3.5.2 Write和WriteLine 71
3.5.3 格式项 72
3.5.4 自定义格式和ToString 74
习题 76
第4章 C++/CLI面向对象编程 77
4.1 C++/CLI面向对象概述 77
4.1.1 C++/CLI类 77
4.1.2 数值类和对象 78
4.1.3 引用类和对象 80
4.1.4 类、程序集和命名空间 81
4.2 类成员 83
4.2.1 属性 83
4.2.2 literal和initonly字段 88
4.2.3 拷贝和静态构造函数 90
4.2.4 终结器 91
4.3 继承和多态 93
4.3.1 派生类 93
4.3.2 虚函数 94
4.3.3 new和虚函数重置 95
4.3.4 抽象和密封函数 97
4.3.5 运算符重载 98
4.4 接口、委托和事件 100
4.4.1 接口和接口类 100
4.4.2 委托 102
4.4.3 事件及其处理 105
4.5 类型转换和异常处理 106
4.5.1 类型转换 106
4.5.2 try和catch 107
4.5.3 异常类 108
4.5.4 使用throw 109
4.5.5 使用finally块 111
习题 112
第5章 Windows窗体和对话框 113
5.1 创建窗体应用程序 113
5.1.1 Forms命名空间和类 113
5.1.2 使用项目模板 114
5.1.3 窗体程序结构 115
5.2 窗体属性及设置 116
5.2.1 Form类 116
5.2.2 外观属性 117
5.2.3 布局属性 117
5.2.4 窗口样式属性 117
5.2.5 属性设置 118
5.3 窗体事件及处理 118
5.3.1 窗体常用事件 118
5.3.2 鼠标事件 119
5.3.3 键盘事件 120
5.4 窗体添加和使用 122
5.4.1 向窗体添加控件 122
5.4.2 控件拾取和操作 123
5.4.3 更改控件的Tab键顺序 124
5.4.4 向项目添加窗体 124
5.4.5 模式和无模式显示 125
5.5 对话框 126
5.5.1 自定义对话框 126
5.5.2 通用对话框 127
5.5.3 消息对话框 128
习题 129
第6章 窗体常用控件 130
6.1 控件概述 130
6.1.1 控件的添加和移除 130
6.1.2 控件的外观属性 132
6.1.3 控件的布局属性 132
6.1.4 控件的事件及其处理 133
6.2 标签和组框 134
6.2.1 标签(Label) 134
6.2.2 链接标签(LinkLabel) 135
6.2.3 组框(GroupBox) 137
6.3 按钮、单选按钮和复选框 137
6.3.1 按钮(Button) 137
6.3.2 单选按钮(RadioButton) 137
6.3.3 复选框(CheckBox) 138
6.3.4 实例:制作问卷调查 138
6.4 文本框和数字旋转控件 140
6.4.1 文本框(TextBox)属性 140
6.4.2 文本框事件和基本操作 141
6.4.3 数字旋转控件(NumericUpDown) 142
6.4.4 实例:学生成绩输入 142
6.5 列表框 143
6.5.1 列表框(ListBox)的属性 143
6.5.2 列表框事件和基本操作 144
6.5.3 实例:使用列表框 145
6.6 组合框 147
6.6.1 组合框(ComboBox)属性 147
6.6.2 组合框事件和基本操作 148
6.6.3 示例:使用组合框 148
6.7 图片框和进展条 149
6.7.1 图片框(PictureBox) 149
6.7.2 进展条(ProgressBar) 150
6.7.3 实例:使用进展条 150
6.8 滚动条和滑动条 151
6.8.1 滚动条(ScrollBar) 151
6.8.2 滑动条(TrackBar) 152
6.8.3 实例:调整窗体背景颜色 153
6.9 日期时间控件、月历控件和计时器 154
6.9.1 日期时间控件(DateTimePicker) 154
6.9.2 月历控件(MonthCalendar) 154
6.9.3 实例:使用日期时间和月历控件 155
6.9.4 计时器(Timer) 156
6.9.5 实例:小游戏 156
习题 158
第7章 基本界面元素 160
7.1 图标和光标 160
7.1.1 图像编辑器 160
7.1.2 图标编辑和使用 161
7.1.3 光标及其编程控制 164
7.2 菜单 165
7.2.1 MenuStrip和事件 166
7.2.2 编辑菜单 166
7.2.3 实例:菜单切换 169
7.2.4 菜单的编程控制 170
7.2.5 使用快捷菜单 172
7.3 工具栏 173
7.3.1 ToolStrip和事件 173
7.3.2 编辑工具栏 174
7.3.3 工具条资源和图像列表 175
7.3.4 实例:使用多个工具栏 176
7.4 状态栏 178
7.4.1 StatusStrip类 178
7.4.2 编辑状态栏 178
7.4.3 实例:显示特殊键状态 179
习题 180
第8章 文档界面模型 181
8.1 列表视图 181
8.1.1 ListView属性和事件 181
8.1.2 列表项操作 183
8.1.3 列标头操作 185
8.1.4 列表界面元素与类的关系 186
8.1.5 实例:学生成绩列表 186
8.2 树视图 190
8.2.1 TreeView属性和事件 190
8.2.2 树视图的节点操作 191
8.2.3 实例:学生成绩树 193
8.3 选项卡和切分窗口 195
8.3.1 面板Panel 195
8.3.2 选项卡TabControl 196
8.3.3 切分窗口SplitContainer 200
8.4 多文档界面 202
8.4.1 MDI及其创建 202
8.4.2 合并菜单项 203
8.4.3 管理子窗体 206
习题 208
第9章 GDI+和图像处理 209
9.1 GDI+概述 209
9.1.1 GDI+新特性及功能 209
9.1.2 GDI+类和结构 210
9.1.3 常用基本数据结构 211
9.2 绘图基础 213
9.2.1 使用GDI+的一般方法 213
9.2.2 颜色和颜色对话框 213
9.2.3 画笔 214
9.2.4 画刷 216
9.2.5 基本绘图方法 221
9.2.6 坐标空间及其变换 224
9.3 文本绘制 226
9.3.1 字体及字体对话框 226
9.3.2 文本输出和显示质量 228
9.3.3 文本格式化属性 229
9.3.4 计算字符和文本尺寸 231
9.4 图像处理 233
9.4.1 图像格式和Image类 233
9.4.2 调用和显示图像 234
9.4.3 图像旋转和拉伸 235
9.4.4 插补和格式转换 236
9.4.5 实例:简单图像处理 237
习题 240
第10章 文件和流 241
10.1 文件及其操作 241
10.1.1 I/O类概述 241
10.1.2 目录操作(Directory类) 242
10.1.3 文件操作(File类) 244
10.1.4 实例:简单的文件浏览器 246
10.2 文本操作 250
10.2.1 文件流(FileStream) 250
10.2.2 文本流 253
10.2.3 实例:简单的记事本 255
10.3 字节流和数据串行化 257
10.3.1 字节读写 257
10.3.2 数据序列化 258
10.3.3 实例:学生成绩序列化 259
习题 264
第11章 数据库 265
11.1 概述 265
11.1.1 关系数据库模型 265
11.1.2 结构化查询语言(SQL) 266
11.1.3 数据访问命名空间 270
11.1.4 ADO.NET结构 270
11.2 ADO.NET数据提供程序 271
11.2.1 创建数据库连接 272
11.2.2 数据库操作(Command) 274
11.2.3 DataReader对象 274
11.2.4 实例:数据库浏览器 275
11.3 ADO.NET DataSet使用框架 279
11.3.1 DataSet类 279
11.3.2 DataAdapter类 279
11.3.3 实例:简单的数据库浏览器 281
11.4 ADO.NET DataSet数据操作 282
11.4.1 添加数据连接 282
11.4.2 使用数据访问控件 283
11.4.3 创建非类型化DataSet 284
11.4.4 查询结果集 285
11.4.5 实例:成绩表的更新操作 287
11.5 DataTable操作和数据绑定 290
11.5.1 DataTable类 290
11.5.2 列操作(DataColumn) 291
11.5.3 行操作(DataRow) 292
11.5.4 数据绑定 294
11.5.5 实例:学生信息的简单管理 294
习题 298
第二部分 实验 299
实验1 熟悉开发环境和建立控制台项目 299
实验2 基本数据类型、表达式和基本语句 302
实验3 数组和格式输入输出 303
实验4 C++/CLI类和对象 304
实验5 多态和虚函数、运算符重载 307
实验6 Windows窗体和对话框 309
实验7 标签和按钮控件 311
实验8 文本框、列表框和组合框 313
实验9 其他常用控件 315
实验10 菜单、工具栏和状态栏 316
实验11 文档界面模型 319
实验12 使用GDI+ 320
实验13 文件和流操作 321
实验14 数据库 322
实验15 综合应用 326
附录A 本书约定 332
附录B 常用键代码 333
附录C Student.MDB数据库表 335
附录D 程序调试 336