第1篇 C#程序设计基础 2
第1章 概述 2
1.1 C#语言及其发展简介 2
1.1.1 C#语言的特点 2
1.1.2 C#语言的发展过程 3
1.1.3 C#语言与其他语言的比较 3
1.2 Visual Studio开发环境的功能和特点 5
1.2.1 Microsoft.NET Framework 6
1.2.2应用程序模板 7
1.3 C#应用程序的一般结构 10
1.3.1命名空间 10
1.3.2 Main方法 12
1.3.3文件结构 12
1.3.4程序代码注释 13
1.4断点设置与程序调试 15
1.5 C#代码编写命名建议 16
习题 16
第2章 数据类型与流程控制 17
2.1数据类型 17
2.1.1 C#数据类型的分类 17
2.1.2整型 18
2.1.3浮点型 19
2.1.4布尔型 19
2.1.5字符类型与字符串类型 19
2.2不同数据类型之间的转换 20
2.2.1显式转换与隐式转换 20
2.2.2装箱和拆箱 22
2.3常量与变量 22
2.3.1常量 23
2.3.2变量 23
2.3.3匿名类型的变量 24
2.4运算符与表达式 24
2.4.1运算符 25
2.4.2表达式 26
2.5控制台应用程序与格式化输出 26
2.5.1控制台输出 26
2.5.2控制台输入 27
2.5.3字符串的格式化输出 27
2.5.4数字的格式化输出 28
2.5.5日期和时间的格式化输出 29
2.6 C#流程控制语句 30
2.6.1分支语句 30
2.6.2循环语句 33
2.6.3跳转语句 36
2.6.4异常处理语句 39
习题 41
第3章 常用数据类型的用法 42
3.1字符串 42
3.1.1字符串的创建与表示形式 42
3.1.2字符串比较 42
3.1.3字符串查找 43
3.1.4求子字符串 44
3.1.5字符串的插入、删除与替换 44
3.1.6移除首尾指定的字符 45
3.1.7字符串的合并与拆分 45
3.1.8字符串中字母的大小写转换 46
3.1.9 String与StringBuilder的区别 46
3.2数组 47
3.2.1数组的声明与初始化 47
3.2.2数组的秩与数组长度 48
3.2.3一维数组 48
3.2.4多维数组 48
3.2.5交错数组 49
3.2.6动态改变数组大小 50
3.2.7数组元素的排序与查找 51
3.2.8数组的统计运算及数组和字符串之间的转换 52
3.3枚举 53
3.3.1枚举的定义 53
3.3.2枚举的基本用法 53
3.4泛型 54
3.4.1泛型的定义和引用 54
3.4.2可空类型的泛型 55
3.5泛型集合 56
3.5.1哈希集合 57
3.5.2列表和排序列表 57
3.5.3链表 58
3.5.4字典和排序字典 59
3.5.5队列 60
3.5.6堆栈 60
3.6日期与时间处理 60
3.7数学运算 62
3.8随机数 63
习题 64
第4章 面向对象的编程基础 65
4.1类 65
4.1.1类的声明与成员组织 65
4.1.2构造函数 67
4.1.3字段和局部变量 68
4.1.4静态成员和实例成员 69
4.1.5访问修饰符 69
4.2结构 69
4.3方法 71
4.3.1方法的定义与调用 71
4.3.2方法中的参数传递 72
4.3.3方法重载 74
4.4属性与索引器 75
4.4.1属性 75
4.4.2索引器 77
习题 79
第5章 面向对象的高级编程 80
5.1类的继承与多态性 80
5.1.1基类和扩充类 80
5.1.2多态性 82
5.1.3抽象类 85
5.1.4密封类 86
5.1.5继承过程中构造函数的处理 87
5.2版本控制 88
5.3接口 90
5.3.1接口的声明与实现 91
5.3.2显式方式实现接口 92
5.4委托与事件 93
5.4.1委托 93
5.4.2事件 95
5.5反射 96
5.6序列化与反序列化 97
5.6.1二进制序列化与反序列化 97
5.6.2 XML序列化与反序列化 99
习题 101
第2篇 Windows应用程序设计 104
第6章 窗体、控件和组件 104
6.1窗体与对话框 104
6.1.1窗体应用程序的启动和停止 104
6.1.2窗体的创建、显示、隐藏和关闭 105
6.1.3窗体常用属性 107
6.1.4窗体位置及外观控制 108
6.1.5单文档窗体和多文档窗体 110
6.1.6对话框 110
6.2控件共有的基本操作 114
6.2.1控件常用属性和基本操作 114
6.2.2控件的锚定和停靠 116
6.2.3控件的常用鼠标与键盘事件 117
6.3容器类控件和常用组件 119
6.3.1分组控件(Panel、 GroupBox) 119
6.3.2工具提示组件(ToolTip) 120
6.3.3错误提示组件(ErrorProvider) 120
6.3.4定时组件(Timer) 120
6.4文本操作类控件 122
6.4.1标签控件(Label、 LinkLabel) 122
6.4.2文本控件(TextBox、 Masked TextBox、 RichTextBox) 122
6.5选择操作类控件 125
6.5.1列表控件(ListBox、ComboBox) 125
6.5.2复选控件(CheckBox、CheckedListBox) 128
6.5.3单选控件(RadioButton) 132
6.5.4日期时间选择控件(DateTimePicker) 133
6.6图像操作类控件和组件 135
6.6.1图像与动画控件(PictureBox) 135
6.6.2图像列表组件(ImageList) 136
6.7菜单、工具栏与状态栏 137
6.7.1菜单控件(MenuStrip) 137
6.7.2快捷菜单控件(Context MenuStrip) 139
6.7.3工具栏控件(ToolStrip) 139
6.7.4状态栏控件(StatusStrip) 139
6.8视图操作类控件 142
6.8.1列表视图控件(ListView) 142
6.8.2树形视图控件(TreeView) 144
6.9其他常用控件 147
6.9.1选项卡控件(TabControl) 147
6.9.2面板复合控件(SplitContainer) 149
6.9.3任务栏图标组件(NotifyIcon) 150
习题 152
第7章 目录与文件管理 153
7.1系统环境相关类 153
7.1.1 Environment类 153
7.1.2 DriveInfo类 154
7.2目录管理 154
7.2.1 Directory类与DirectoryInfo类 155
7.2.2 Path类 156
7.2.3目录的创建、删除和移动 156
7.2.4 FolderBrowserDialog对话框 157
7.3文件管理 158
7.3.1 File类与FileInfo类 158
7.3.2文件的复制、删除与移动 158
7.3.3文件属性 159
7.3.4 OpenFileDialog与SaveFileDialog对话框 160
7.4文件的读写 162
7.4.1文件编码 162
7.4.2文本文件的读写 163
7.4.3二进制文件的读写 165
7.5 FileSystemWatcher组件 166
习题 167
第8章 图形图像处理 168
8.1图形图像绘制基础知识 168
8.1.1 GDI+概述 168
8.1.2 Graphics类 170
8.1.3颜色 170
8.1.4 Paint事件 171
8.2绘制基本图形 172
8.2.1创建画笔 172
8.2.2绘制直线 172
8.2.3绘制矩形 177
8.2.4绘制多边形 177
8.2.5绘制曲线 179
8.2.6绘制椭圆和扇形 180
8.3填充图形 181
8.3.1创建画刷 181
8.3.2填充单色 182
8.3.3填充渐变色 183
8.3.4填充阴影 184
8.3.5填充纹理 185
8.3.6填充路径 186
8.4图像处理 187
8.4.1绘制图像 187
8.4.2保存图像 188
8.4.3图像的拉伸与反转变换 191
8.5图形与图像的平移、旋转和缩放 193
8.6文字处理 194
习题 195
第9章 ADO.NET与数据操作 196
9.1 ADO.NET简介 197
9.1.1数据访问技术及其发展概述 197
9.1.2 ADO.NET数据访问模型 197
9.2数据库与数据访问工具 198
9.2.1 SQL Server数据库分类 198
9.2.2数据访问可视化工具 200
9.3 ADO.NET数据访问对象 203
9.3.1 SqlConnection对象 204
9.3.2 SqlCommand对象 205
9.3.3 SqlDataAdapter对象 209
9.3.4 DataTable对象 210
9.3.5 DataSet对象 212
9.4数据绑定技术 213
9.4.1简单数据绑定与复杂数据绑定 213
9.4.2数据源组件(BindingSource) 215
9.4.3导航控件(BindingNavigator) 217
9.5 DataGridView控件 220
9.5.1默认功能 220
9.5.2绑定数据源 221
9.5.3标题及行列控制 224
9.5.4单元格控制 227
9.5.5异常处理 230
9.6数据处理 233
9.6.1图像数据处理 233
9.6.2关联表数据处理 236
9.7存储过程 240
9.8语言集成查询(LINQ) 244
9.8.1 LINQ简介 244
9.8.2查询表达式 246
9.8.3对象关系设计器(O/R设计器) 249
习题 251
第10章 报表设计 252
10.1水晶报表基础知识 252
10.1.1水晶报表的分类 252
10.1.2嵌入式水晶报表设计器 253
10.1.3报表节 253
10.1.4报表数据源 254
10.2水晶报表的设计与显示 254
10.2.1水晶报表对象模型 254
10.2.2显示与打印水晶报表 256
习题 264
第11章 类库与控件库设计 265
11.1特性(Attribute) 265
11.2类库设计 266
11.2.1设计类库 267
11.2.2调用类库 268
11.3用户控件 269
11.3.1在属性窗口中显示属性提示 269
11.3.2制作按钮用户控件 271
11.4控件库设计 275
11.4.1设计控件库 275
11.4.2调用控件库 276
习题 276
第12章 正则表达式 277
12.1正则表达式及其相关类 277
12.1.1正则表达式简介 277
12.1.2正则表达式相关类 280
12.2 Web信息浏览与搜索 285
12.2.1 WebBrower控件 285
12.2.2利用正则表达式搜索Web资源 287
习题 291
第3篇 Web应用程序设计 294
第13章 Web应用程序设计基础 294
13.1 Web应用程序开发工具 294
13.2页面设计基础 295
13.2.1 HTML 295
13.2.2 CSS 297
13.2.3 JavaScript 299
13.3 Web应用程序中的常用对象 300
13.3.1 Response与Request 301
13.3.2 Application与Session对象 301
13.4网页切换与网页间的数据传递 301
13.4.1网页的切换 302
13.4.2网页间的数据传递 302
习题 302
第14章 ASP.NET Web服务器控件 303
14.1标准控件 303
14.1.1简单控件 304
14.1.2 Table控件 306
14.1.3 HiddenField控件 309
14.2数据操作控件 310
14.2.1 SqlDataSource组件 310
14.2.2 GridView控件 313
14.2.3 DataList控件 315
14.2.4 DetailsView控件 319
14.2.5 FormView控件 320
14.3验证控件 320
14.3.1 ValidationSummary控件 321
14.3.2 RequiredFieldValidator控件 321
14.3.3 RangeValidator控件 322
14.3.4 CompareValidator控件 323
14.3.5 RegularExpressionValidator控件 325
14.3.6 CustomValidator控件 326
14.4导航控件 327
14.4.1 SiteMapPath控件 327
14.4.2 Menu控件 329
14.4.3 TreeView控件 331
习题 334
第15章 Web应用程序开发实例 335
15.1系统分析与总体规划 335
15.1.1需求分析 335
15.1.2技术处理 336
15.1.3总体规划 336
15.2系统架构设计 336
15.2.1系统功能结构 337
15.2.2文件组织 337
15.2.3数据库结构 338
15.3前台功能模块设计 338
15.3.1首页设计 339
15.3.2单记录多选类测评表页面设计 342
15.3.3多记录多选类测评表页面设计 343
15.3.4数据编辑类测评表页面设计 346
15.4后台功能模块设计 347
15.4.1管理员登录页面设计 347
15.4.2系统管理页面设计 347
15.4.3统计汇总表设计 348
15.4.4报表打印与输出设计 348