图书目录

目  录

第1篇 基础知识

 第1章 初识C#及其开发环境 2

  视频讲解:1小时6分钟

1.1 C#概述 3

1.1.1 C#语言及其特点 3

1.1.2 认识.NET Framework 3

1.1.3 C#与.NET框架 4

1.1.4 C#的应用领域 4

1.2 安装与卸载Visual Studio 2017 5

1.2.1 安装Visual Studio 2017必备条件 5

1.2.2 安装Visual Studio 2017 6

1.2.3 卸载Visual Studio 2017 9

1.3 熟悉Visual Studio 2017开发环境 10

1.3.1 创建项目 10

1.3.2 菜单栏 12

1.3.3 工具栏 13

1.3.4 “解决方案资源管理器”窗口 14

1.3.5 “工具箱”窗口 14

1.3.6 “属性”窗口 15

1.3.7 “错误列表”窗口 16

1.4 小结 16

第2章 开始C#之旅 17

  视频讲解:1小时10分钟

2.1 编写第一个C#程序 18

2.2 初识C#程序结构 19

2.2.1 命名空间 19

2.2.2 类 20

2.2.3 Main()方法 21

2.2.4 标识符及关键字 21

2.2.5 C#语句 22

2.2.6 注释 22

2.3 程序编写规范 23

2.3.1 代码书写规则 23

2.3.2 命名规范 23

2.4 小结 25

2.5 动手纠错 26

第3章 变量与常量 27

  视频讲解:2小时27分钟

3.1 变量的基本概念 28

3.2 变量的声明及赋值 28

3.2.1 声明变量 28

3.2.2 变量的赋值 29

3.2.3 变量的作用域 29

3.3 数据类型 31

3.3.1 值类型 31

3.3.2 引用类型 34

3.3.3 值类型与引用类型的区别 35

3.3.4 枚举类型 36

3.3.5 类型转换 38

3.4 常量 41

3.5 小结 42

3.6 实践与练习 42

3.7 动手纠错 42

第4章 表达式与运算符 43

  视频讲解:1小时38分钟

4.1 表达式 44

4.2 运算符 44

4.2.1 算术运算符 44

4.2.2 赋值运算符 47

4.2.3 关系运算符 48

4.2.4 逻辑运算符 51

4.2.5 位运算符 53

4.2.6 其他特殊运算符 55

4.3 运算符优先级 57

4.4 小结 58

4.5 实践与练习 58

4.6 动手纠错 58

第5章 字符与字符串 59

  视频讲解:2小时6分钟

5.1 字符类Char的使用 60

5.1.1 Char类概述 60

5.1.2 Char类的使用 60

5.1.3 转义字符 62

5.2 字符串类String的使用 64

5.2.1 字符串的声明及赋值 64

5.2.2 连接多个字符串 64

5.2.3 比较字符串 65

5.2.4 格式化字符串 67

5.2.5 截取字符串 69

5.2.6 分割字符串 69

5.2.7 插入和填充字符串 70

5.2.8 删除字符串 71

5.2.9 复制字符串 72

5.2.10 替换字符串 74

5.3 可变字符串类 75

5.3.1 StringBuilder类的定义 75

5.3.2 StringBuilder类的使用 75

5.3.3 StringBuilder类与String类的区别 77

5.4 小结 78

5.5 实践与练习 78

5.6 动手纠错 78

第6章 流程控制语句 79

  视频讲解:1小时48分钟

6.1 条件判断语句 80

6.1.1 if语句 80

6.1.2 switch多分支语句 84

6.2 循环语句 87

6.2.1 while语句 87

6.2.2 do…while语句 90

6.2.3 for语句 91

6.2.4 foreach语句 93

6.3 跳转语句 94

6.3.1 break语句 94

6.3.2 continue语句 95

6.3.3 goto语句 96

6.3.4 return语句 98

6.4 小结 98

6.5 实践与练习 99

6.6 动手纠错 99

第7章 数组和集合 101

  视频讲解:1小时47分钟

7.1 数组概述 102

7.2 一维数组的创建和使用 102

7.2.1 一维数组的创建 102

7.2.2 一维数组的初始化 104

7.2.3 一维数组的使用 104

7.3 二维数组的创建和使用 105

7.3.1 二维数组的创建 105

7.3.2 二维数组初始化 106

7.3.3 二维数组的使用 106

7.4 数组的基本操作 108

7.4.1 遍历数组 108

7.4.2 添加/删除数组元素 108

7.4.3 对数组进行排序 113

7.4.4 数组的合并与拆分 114

7.5 数组排序算法 116

7.5.1 冒泡排序 116

7.5.2 直接插入排序 118

7.5.3 选择排序法 120

7.6 ArrayList类 121

7.6.1 ArrayList类概述 121

7.6.2 ArrayList元素的添加 123

7.6.3 ArrayList元素的删除 125

7.6.4 ArrayList的遍历 127

7.6.5 ArrayList元素的查找 128

7.7 Hashtable(哈希表) 128

7.7.1 Hashtable概述 128

7.7.2 Hashtable元素的添加 129

7.7.3 Hashtable元素的删除 129

7.7.4 Hashtable的遍历 130

7.7.5 Hashtable元素的查找 131

7.8 小结 132

7.9 实践与练习 132

7.10 动手纠错 133

第8章 属性和方法 134

  视频讲解:43分钟

8.1 属性 135

8.1.1 属性概述 135

8.1.2 属性的使用 136

8.2 方法 138

8.2.1 方法的声明 138

8.2.2 方法的参数类型 139

8.2.3 方法的分类 141

8.2.4 方法的重载 142

8.2.5 Main()方法 143

8.3 小结 144

8.4 实践与练习 144

8.5 动手纠错 144

第9章 结构和类 146

  视频讲解:1小时6分钟

9.1 结构 147

9.1.1 结构概述 147

9.1.2 结构的使用 148

9.2 面向对象概述 149

9.2.1 对象 149

9.2.2 类 150

9.2.3 封装 151

9.2.4 继承 152

9.2.5 多态 153

9.3 类 153

9.3.1 类的概念 154

9.3.2 类的声明 154

9.3.3 构造函数和析构函数 155

9.3.4 对象的创建及使用 156

9.3.5 this关键字 160

9.3.6 类与对象的关系 161

9.4 类的面向对象特性 161

9.4.1 类的封装 161

9.4.2 类的继承 162

9.4.3 类的多态 165

9.5 小结 168

9.6 实践与练习 168 

第2篇 核心技术 

第10章 Windows窗体 170

  视频讲解:60分钟

10.1 Form窗体 171

10.1.1 Form窗体的概念 171

10.1.2 添加和删除窗体 171

10.1.3 多窗体的使用 173

10.1.4 窗体的属性 174

10.1.5 窗体的显示与隐藏 177

10.1.6 窗体的事件 178

10.2 MDI窗体 182

10.2.1 MDI窗体的概念 182

10.2.2 如何设置MDI窗体 183

10.2.3 排列MDI子窗体 184

10.3 继承窗体 186

10.3.1 继承窗体的概念 186

10.3.2 创建继承窗体 186

10.3.3 在继承窗体中修改继承的控件属性 188

10.4 小结 189

10.5 实践与练习 189

第11章 Windows应用程序常用控件 189

  视频讲解:1小时33分钟

11.1 控件概述 190

11.1.1 控件的分类及作用 190

11.1.2 控件命名规范 190

11.2 控件的相关操作 191

11.2.1 添加控件 191

11.2.2 对齐控件 192

11.2.3 锁定控件 192

11.2.4 删除控件 192

11.3 文本类控件 193

11.3.1 标签控件(Label控件) 193

11.3.2 按钮控件(Button控件) 194

11.3.3 文本框控件(TextBox控件) 196

11.3.4 有格式文本控件(RichTextBox控件) 199

11.4 选择类控件 203

11.4.1 下拉组合框控件(ComboBox控件) 203

11.4.2 复选框控件(CheckBox控件) 205

11.4.3 单选按钮控件(RadioButton控件) 207

11.4.4 数值选择控件(NumericUpDown 控件) 209

11.4.5 列表控件(ListBox控件) 211

11.5 分组类控件 214

11.5.1 容器控件(Panel控件) 214

11.5.2 分组框控件(GroupBox控件) 216

11.5.3 选项卡控件(TabControl控件) 216

11.6 菜单、工具栏和状态栏控件 221

11.6.1 菜单控件(MenuStrip控件) 221

11.6.2 工具栏控件(ToolStrip控件) 223

11.6.3 状态栏控件(StatusStrip控件) 225

11.7 小结 226

11.8 实践与练习 226

第12章 Windows应用程序高级控件 227

  视频讲解:1小时11分钟

12.1 ImageList控件(存储图像控件) 228

12.1.1 在ImageList控件中添加图像 228

12.1.2 在ImageList控件中移除图像 229

12.2 ListView控件(列表视图控件) 231

12.2.1 在ListView控件中添加移除项 232

12.2.2 选择ListView控件中的项 234

12.2.3 为ListView控件中的项添加图标 235

12.2.4 在ListView控件中启用平铺视图 236

12.2.5 为ListView控件中的项分组 237

12.3 TreeView控件(树控件) 240

12.3.1 添加和删除树节点 240

12.3.2 获取树控件中选中的节点 242

12.3.3 为树控件中的节点设置图标 243

12.4 DateTimePicker控件(日期控件) 245

12.4.1 使用DateTimePicker控件显示时间 245

12.4.2 使用DateTimePicker控件以自定义格式显示日期 246

12.4.3 返回DateTimePicker控件中选择的日期 247

12.5 MonthCalendar控件(月历控件) 248

12.5.1 更改MonthCalendar控件的外观 248

12.5.2 在MonthCalendar控件中显示多个月份 249

12.5.3 在MonthCalendar控件中选择日期范围 250

12.6 其他高级控件 251

12.6.1 使用ErrorProvider控件验证文本框输入 251

12.6.2 使用HelpProvider控件调用帮助文件 253

12.6.3 使用Timer控件设置时间间隔 254

12.6.4 使用ProgressBar控件显示程序运行进度条 256

12.7 小结 257

12.8 实践与练习 257

第13章 数据访问技术 258

  视频讲解:1小时46分钟

13.1 数据库基础 259

13.1.1 数据库简介 259

13.1.2 SQL语言简介 259

13.1.3 数据库的创建及删除 259

13.1.4 数据表的创建及删除 262

13.1.5 简单SQL语句的应用 264

13.2 ADO.NET简介 271

13.3 连接数据库:Connection对象 272

13.3.1 Connection对象概述 272

13.3.2 连接数据库 272

13.3.3 关闭连接 274

13.4 执行SQL语句:Command对象 276

13.4.1 Command对象概述 276

13.4.2 设置数据源类型 277

13.4.3 执行SQL语句 278

13.5 读取数据:DataReader对象 281

13.5.1 DataReader对象概述 281

13.5.2 判断查询结果中是否有值 281

13.5.3 读取数据 282

13.6 数据适配器:DataAdapter对象 283

13.6.1 DataAdapter对象概述 283

13.6.2 填充DataSet数据集 284

13.6.3 更新数据源 285

13.7 数据集:DataSet对象 287

13.7.1 DataSet对象概述 287

13.7.2 合并DataSet内容 288

13.7.3 复制DataSet内容 290

13.8 Entity Framework编程基础 291

13.8.1 什么是Entity Framework 291

13.8.2 Entity Framework实体数据模型 292

13.8.3 Entity Framework运行环境 293

13.8.4 创建实体数据模型 293

13.8.5 通过EF对数据表进行增删改查操作 297

13.9 小结 300

13.10 实践与练习 300

第14章 DataGridView数据控件 301

  视频讲解:46分钟

14.1 DataGridView控件概述 302

14.2 在DataGridView控件中显示数据 302

14.3 获取DataGridView控件中的当前单元格 303

14.4 直接在DataGridView控件中修改数据 304

14.5 当选中DataGridView控件中的行时显示不同的颜色 307

14.6 禁止在DataGridView控件中添加和删除行 308

14.7 使用Columns和Rows属性添加数据 309

14.8 小结 310

14.9 实践与练习 311

第15章 LINQ数据访问技术 312

  视频讲解:1小时2分钟

15.1 LINQ基础 313

15.1.1 LINQ概述 313

15.1.2 使用var创建隐型局部变量 314

15.1.3 Lambda表达式的使用 315

15.1.4 LINQ查询表达式 316

15.2 LINQ操作SQL Server数据库 318

15.2.1 使用LINQ查询SQL Server数据库 318

15.2.2 使用LINQ管理SQL Server数据库 322

15.3 LINQ操作其他数据 329

15.3.1 使用LINQ操作数组和集合 329

15.3.2 使用LINQ操作DataSet数据集 330

15.3.3 使用LINQ操作XML 332

15.4 小结 336

15.5 实践与练习 336

第16章 程序调试与异常处理 337

  视频讲解:39分钟

16.1 程序调试概述 338

16.2 常用的程序调试操作 338

16.2.1 断点操作 338

16.2.2 开始执行 340

16.2.3 中断执行 341

16.2.4 停止执行 342

16.2.5 单步执行和逐过程执行 342

16.2.6 运行到指定位置 343

16.3 异常处理概述 343

16.4 异常处理语句 344

16.4.1 try…catch语句 344

16.4.2 throw语句 346

16.4.3 try…catch…finally语句 347

16.5 小结 349

16.6 实践与练习 349 

第3篇 高级应用 

第17章 面向对象技术高级应用 351

  视频讲解:49分钟

17.1 抽象类与抽象方法 352

17.1.1 抽象类概述及声明 352

17.1.2 抽象方法概述及声明 353

17.1.3 抽象类与抽象方法的使用 354

17.2 接口 355

17.2.1 接口的概念及声明 355

17.2.2 接口的实现与继承 357

17.2.3 显式接口成员实现 360

17.2.4 抽象类与接口 361

17.3 密封类与密封方法 362

17.3.1 密封类概述及声明 362

17.3.2 密封方法概述及声明 363

17.3.3 密封类与密封方法的使用 363

17.4 委托和匿名方法 365

17.4.1 委托 365

17.4.2 匿名方法 366

17.5 事件 367

17.5.1 委托的发布和订阅 368

17.5.2 事件的发布和订阅 369

17.5.3 EventHandler类 370

17.5.4 Windows事件概述 372

17.6 小结 373

17.7 实践与练习 373

第18章 迭代器和分部类 374

  视频讲解:19分钟

18.1 迭代器 375

18.1.1 迭代器概述 375

18.1.2 迭代器的使用 375

18.2 分部类 376

18.2.1 分部类概述 376

18.2.2 分部类的使用 377

18.3 小结 378

18.4 实践与练习 379

第19章 泛型 380

  视频讲解:22分钟

19.1 泛型概述 381

19.2 泛型的使用 381

19.2.1 类型参数T 381

19.2.2 泛型接口 382

19.2.3 泛型方法 383

19.3 小结 384

19.4 实践与练习 384

第20章 文件及数据流技术 385

  视频讲解:1小时22分钟

20.1 System.IO命名空间 386

20.1.1 File类和Directory类 386

20.1.2 FileInfo类和DirectoryInfo类 390

20.2 文件基本操作 393

20.2.1 判断文件是否存在 393

20.2.2 创建文件 394

20.2.3 复制或移动文件 395

20.2.4 删除文件 396

20.2.5 获取文件的基本信息 397

20.3 文件夹的基本操作 398

20.3.1 判断文件夹是否存在 398

20.3.2 创建文件夹 399

20.3.3 移动文件夹 400

20.3.4 删除文件夹 401

20.3.5 遍历文件夹 401

20.4 数据流 404

20.4.1 流操作类介绍 404

20.4.2 文件流类 404

20.4.3 文本文件的写入与读取 406

20.4.4 二进制文件的写入与读取 409

20.5 小结 411

20.6 实践与练习 411

第21章 GDI+图形图像技术 412

  视频讲解:1小时11分钟

21.1 GDI+绘图基础 413

21.1.1 GDI+概述 413

21.1.2 创建Graphics对象 413

21.1.3 创建Pen对象 414

21.1.4 创建Brush对象 414

21.2 基本图形绘制 417

21.2.1 GDI+中的直线和矩形 417

21.2.2 GDI+中的椭圆、圆弧和扇形 419

21.2.3 GDI+中的多边形 422

21.3 GDI+绘图的应用 424

21.3.1 绘制柱形图 424

21.3.2 绘制折线图 427

21.3.3 绘制饼形图 429

21.4 小结 432

21.5 实践与练习 432

第22章 Windows打印技术 433

  视频讲解:27分钟

22.1 PageSetupDialog控件 434

22.2 PrintDialog控件 436

22.3 PrintDocument控件 438

22.4 PrintPreviewControl控件 439

22.5 PrintPreviewDialog控件 440

22.6 小结 441

22.7 实践与练习 441

第23章 网络编程技术 442

  视频讲解:48分钟

23.1 网络编程基础 443

23.1.1 System.Net命名空间 443

23.1.2 System.Net.Sockets命名空间 450

23.2 开发网络应用程序 457

23.2.1 创建Web页面浏览器 457

23.2.2 局域网聊天程序 458

23.3 小结 461

23.4 实践与练习 461

第24章 注册表技术 462

  视频讲解:20分钟

24.1 注册表基础 463

24.1.1 Windows注册表概述 463

24.1.2 Registry和RegistryKey类 463

24.2 在C#中操作注册表 465

24.2.1 读取注册表中的信息 465

24.2.2 创建和修改注册表信息 467

24.2.3 删除注册表中的信息 470

24.3 小结 474

24.4 实践与练习 474

第25章 线程的使用 475

  视频讲解:29分钟

25.1 线程简介 476

25.1.1 单线程简介 476

25.1.2 多线程简介 476

25.2 线程的基本操作 477

25.2.1 Thread类 477

25.2.2 创建线程 480

25.2.3 线程的挂起与恢复 481

25.2.4 线程休眠 482

25.2.5 终止线程 482

25.2.6 线程的优先级 484

25.2.7 线程同步 485

25.3 小结 489

25.4 实践与练习  490

第4篇 项目实战 

第26章 企业人事管理系统 492

  视频讲解:1小时54分钟

26.1 系统分析 493

26.1.1 需求分析 493

26.1.2 可行性分析 493

26.1.3 编写项目计划书 494

26.2 系统设计 496

26.2.1 系统目标 496

26.2.2 系统功能结构 496

26.2.3 系统业务流程图 497

26.2.4 系统编码规范 498

26.3 系统运行环境 501

26.4 数据库与数据表设计 501

26.4.1 数据库分析 502

26.4.2 创建数据库 502

26.4.3 创建数据表 505

26.4.4 数据表逻辑关系 510

26.5 创建项目 512

26.6 公共类设计 514

26.6.1 MyMeans公共类 514

26.6.2 MyModule公共类 517

26.7 登录模块设计 531

26.7.1 设计登录窗体 532

26.7.2 按Enter键时移动鼠标焦点 532

26.7.3 登录功能的实现 532

26.8 系统主窗体设计 533

26.8.1 设计菜单栏 534

26.8.2 设计工具栏 535

26.8.3 设计导航菜单 537

26.8.4 设计状态栏 538

26.9 人事档案管理模块设计 539

26.9.1 设计人事档案管理窗体 540

26.9.2 添加/修改人事档案信息 542

26.9.3 删除人事档案信息 544

26.9.4 单条件查询人事档案信息 544

26.9.5 逐条查看人事档案信息 547

26.9.6 将人事档案信息导出为Word文档 548

26.9.7 将人事档案信息导出为Excel表格 553

26.10 人事资料查询模块设计 558

26.10.1 设计人事资料查询窗体 558

26.10.2 多条件查询人事资料 559

26.11 通讯录模块设计 560

26.11.1 设计通讯录窗体 561

26.11.2 添加/修改通讯录信息 561

26.11.3 删除通讯录信息 564

26.11.4 查询通讯录信息 564

26.12 用户设置模块设计 565

26.12.1 设计用户设置窗体 565

26.12.2 添加/修改用户信息 566

26.12.3 删除用户基本信息 568

26.12.4 设置用户操作权限 568

26.13 数据库维护模块设计 569

26.13.1 设计数据库维护窗体 570

26.13.2 备份数据库 570

26.13.3 还原数据库 571

26.14 运行项目 573

26.15 开发的常见问题与解决 574

26.15.1 程序为什么会无法运行 574

26.15.2 为什么无法添加职工基本信息 574

26.15.3 选择职工头像时出现异常怎么办 576

26.15.4 数据库还原不成功应该如何解决 576

26.16 小结 576

附录 577