第1章 C#开发环境 1
1.1 C#概述 2
1.1.1 C#的特点 2
1.1.2 C#与.NET的关系 4
1.2 安装Visual Studio 4
1.2.1 硬件要求 4
1.2.2 安装步骤 5
1.3 Visual Studio环境 7
1.3.1 Visual Studio主窗口 7
1.3.2 编辑器与Windows窗体设计器 8
1.3.3 解决方案资源管理器和项目属性页 9
1.3.4 编译器、调试器和错误列表 9
1.3.5 工具箱 10
1.3.6 “属性”窗口 10
1.4 Visual C#项目 11
1.4.1 创建新项目 11
1.4.2 项目中的内容 12
1.4.3 修改项目属性 13
1.4.4 生成与调试 14
1.5 C#程序设计过程 14
1.5.1 设置工作区 14
1.5.2 定义用户界面 15
1.5.3 设置属性 16
1.5.4 添加事件 16
1.5.5 运行项目 17
1.5.6 保存文件 17
1.5.7 打开项目 17
1.6 Visual Studio的帮助 19
小结 21
习题 21
第2章 C#语言基础 22
2.1 C#应用程序结构 23
2.1.1 C#的应用程序组成 23
2.1.2 保留字和标准指令符 24
2.1.3 标识符 25
2.1.4 注释 25
2.1.5 控制台程序中的标准输入和输出 26
2.2 数据类型 28
2.2.1 值类型 28
2.2.2 引用类型 34
2.2.3 类型转换 38
2.3 常量和变量的定义 41
2.3.1 常量 41
2.3.2 变量 41
2.4 运算符和表达式 42
2.4.1 运算符 42
2.4.2 表达式 45
2.5 语句 45
2.5.1 赋值语句 45
2.5.2 复合语句 45
2.5.3 条件语句 45
2.5.4 循环语句 49
2.5.5 跳转语句 51
小结 54
习题 54
第3章 面向对象程序设计 56
3.1 面向对象程序设计概念 57
3.1.1 结构化程序设计方法 57
3.1.2 面向对象的程序设计方法 57
3.1.3 面向对象程序设计的基本概念 58
3.2 类 59
3.2.1 类的定义 59
3.2.2 保护方式 60
3.2.3 类实例化 60
3.2.4 类的成员 61
3.3 方法 62
3.3.1 方法声明 62
3.3.2 方法参数 63
3.3.3 静态方法 66
3.3.4 构造函数 66
3.3.5 析构函数 68
3.3.6 方法重载 68
3.4继承和多态 70
3.4.1 继承 70
3.4.2 覆盖 71
3.4.3 抽象类 72
3.4.4 多态 73
3.5 域和属性 75
3.5.1 域 75
3.5.2 属性 77
3.6 命名空间 79
3.6.1 编译单元 79
3.6.2 命名空间声明 79
3.6.3 命名空间成员 80
3.6.4 using指令 80
小结 86
习题 87
第4章 窗体与控件 88
4.1 C#窗体 88
4.1.1 窗体与窗口 88
4.1.2 窗体属性 89
4.1.3 窗体方法 90
4.1.4 窗体事件 91
4.2 窗体设计 91
4.2.1 新建窗体 92
4.2.2 设置窗体属性 93
4.2.3 添加控件 93
4.2.4 编辑控件 94
4.2.5 设置控件属性 95
4.2.6 Tab顺序 95
4.2.7 保存文件 95
4.2.8 运行程序 95
4.3 文本型控件 96
4.3.1 Label控件 96
4.3.2 LinkLabel控件 97
4.4按钮型控件 97
4.4.1 Button控件 97
4.4.2 RadioButton控件 98
4.4.3 CheckBox控件 98
4.4.4 按钮型控件实例 99
4.5 编辑型控件 101
4.5.1 TextBox控件 101
4.5.2 MaskedTextBox控件 102
4.5.3 NumericUpDown控件 103
4.5.4 RichTextBox控件 104
4.5.5 编辑型控件实例 106
4.6列表框型控件 108
4.6.1 ListBox控件 108
4.6.2 CheckedListBox控件 110
4.6.3 ComboBox控件 110
4.6.4 列表框型控件实例 111
4.7 滑块型控件 113
4.7.1 HScrollBar控件和VScrollBar控件 113
4.7.2 TrackBar控件 114
4.7.3 滑块型控件实例 114
4.8容器型控件 116
4.8.1 GroupBox控件 116
4.8.2 Panel控件 117
4.8.3 TabControl控件 118
4.9运行时改变窗体 118
4.9.1 运行时设置属性 118
4.9.2 运行时创建控件 120
小结 121
习题 121
第5章 界面设计 123
5.1 菜单设计简介 124
5.1.1 菜单结构 124
5.1.2 菜单命令项的作用 124
5.1.3 菜单设计器 124
5.2主菜单设计 125
5.2.1 添加主菜单设计器 125
5.2.2 添加菜单命令项 125
5.2.3 菜单命令项分组 126
5.2.4 菜单命令项热键 126
5.2.5 调整菜单命令项 126
5.2.6 创建级联菜单 127
5.2.7 菜单命令响应 127
5.2.8 图形菜单 129
5.3 运行时设置菜单 130
5.3.1 菜单命令灰显 131
5.3.2 隐藏菜单命令 131
5.3.3 改变菜单命令文本 132
5.3.4 菜单命令复选标记 132
5.3.5 创建动态菜单 132
5.4快捷菜单设计 134
5.4.1 快捷菜单的设计 134
5.4.2 快捷菜单的响应 135
5.5 工具栏设计 136
5.5.1 添加工具栏 136
5.5.2添加工具栏成员 136
5.5.3 添加事件响应 137
5.5.4 动态设置成员属性 137
5.5.5 动态加载工具栏成员 138
5.6状态栏设计 139
5.6.1 添加状态栏 140
5.6.2 添加状态标签 140
5.6.3 显示提示信息 140
5.6.4 显示动态信息 141
小结 142
习题 143
第6章 对话框和窗体调用 145
6.1 对话框调用 145
6.1.1 “打开”和“保存”对话框控件 146
6.1.2 “字体”和“颜色”对话框控件 149
6.1.3 “打印”、“页面设置”和“打印预览”对话框控件 152
6.2 窗体调用 158
6.2.1 窗体间调用 158
6.2.2 消息框调用 162
6.3 MDI程序 163
6.3.1 MDI窗体设计 163
6.3.2 子窗体排列 166
6.3.3 MDI的菜单设计 167
小结 168
习题 169
第7章 GDI+图像编程 170
7.1 GDI+绘图基础 170
7.1.1 GDI+概述 171
7.1.2 Graphics类 171
7.1.3 常用画图对象 173
7.1.4 画刷和画刷类型 177
7.2 C#图像处理基础 184
7.2.1 C#图像处理概述 184
7.2.2 图像的输入和保存 186
7.2.3 彩色图像处理 188
小结 196
习题 197
第8章 文件操作 198
8.1 C#文件处理和管理 199
8.2 C#文件操作 200
8.2.1 File类 200
8.2.2 FileInfo类 204
8.2.3 File类和FileInfo类的区别 207
8.3 C#文件夹操作 208
8.3.1 文件路径 208
8.3.2 Directory类 208
8.3.3 DirectoryInfo类 209
8.3.4 Directory和DirectoryInfo的区别 212
8.4文件流操作 212
8.4.1 C#流的概念 212
8.4.2 文件流应用 213
8.4.3 文本文件的读/写 218
8.4.4 二进制文件的读/写 223
小结 226
习题 226
第9章 数据库编程 228
9.1 SQL Server数据库管理 229
9.1.1 Management Studio环境 229
9.1.2 添加和删除数据库 230
9.1.3 备份和还原数据库 233
9.2数据库表管理 236
9.2.1 创建表 237
9.2.2 键和索引 238
9.3 连接数据库 239
9.3.1 ADO.NET概述 239
9.3.2数据库连接类DbConnection 240
9.4 执行SQL命令 241
9.4.1 数据库命令类DbCommand 242
9.4.2 SQL参数类DbParameter 243
9.5 DbDataReader和DataSet 244
9.5.1 数据读取器DbDataReader 244
9.5.2数据集DataSet概述 246
9.5.3 数据表、数据列和数据行 247
9.5.4 构建表结构 248
9.5.5 编辑数据 249
9.5.6 数据行状态 249
9.6 数据适配器 250
9.6.1 DbDataAdapter概述 250
9.6.2 填充数据 251
9.6.3 获取表架构 252
9.6.4 命令生成类DBCommandBuilder 253
9.6.5 更新数据库 253
9.7 显示数据 255
9.7.1 数据表格控件DataGridView 255
9.7.2 控制DataGridView外观和行为 256
9.8 数据集设计器 258
9.8.1 添加数据集 258
9.8.2 添加查询 259
小结 261
习题 262
第10章 水晶报表与打印 263
10.1 水晶报表概述 263
10.2 报表设计概念 264
10.2.1 决定报表内容 264
10.2.2 设计纸张原型 266
10.3 .NET环境下水晶报表传递数据的两种模式 267
10.3.1 拉模式 267
10.3.2推模式 269
10.3.3 水晶报表中数据的分组、排序 271
10.3.4 水晶报表中数据的筛选 273
10.3.5 在水晶报表中使用图表 276
10.4 Windows打印控件 278
10.4.1 Windows打印控件简介 278
10.4.2 使用打印控件打印订单信息 279
小结 281
习题 281
参考文献 282