图书目录

目    录

第1篇  C# 3.0基础知识

 

第1章  Visual Studio 2008简介 2

1.1  Visual Studio发展历史 2

1.2  Visual Studio 2008介绍 3

1.2.1  主窗体介绍 3

1.2.2  “工具箱”视图 5

1.2.3  “属性管理器”视图 6

1.2.4  “错误列表”视图 7

1.3  应用程序向导 8

1.4  创建控制台应用程序 9

1.4.1  创建控制台应用程序——

HelloWorld 9

1.4.2  HelloWorld程序结构 10

1.4.3  HelloWorld编码和运行 10

1.4.4  调试HelloWorld程序 11

1.5  小结 12

第2章  C# 3.0语言基础 14

2.1  .NET Framework 3.5介绍 14

2.1.1  .NET Framework框架 14

2.1.2  公共语言运行库 15

2.1.3  .NET Framework类库 16

2.1.4  .NET 3.5重要扩展 17

2.2  语言概述 18

2.2.1  C#语言特点 18

2.2.2  C#应用程序的生成 19

2.3  变量 20

2.3.1  变量和常量 20

2.3.2  数值 22

2.3.3  字符和字符串 25

2.3.4  枚举类型 27

2.3.5  数组 29

2.4  运算符 31

2.4.1  运算符和表达式 32

2.4.2  赋值运算符 32

2.4.3  算术运算符 33

2.4.4  关系运算符 34

2.4.5  逻辑运算符 35

2.4.6  位运算符 36

2.5  常用语句 37

2.5.1  语句 37

2.5.2  条件语句 38

2.5.3  选择语句 39

2.5.4  循环语句 41

2.6  函数 44

2.6.1  函数定义 44

2.6.2  函数调用 45

2.6.3  值传递和引用传递 46

2.6.4  Main()函数 47

2.7  代码注释 48

2.7.1  常见注释 48

2.7.2  XML注释 49

2.8  小结 50

第3章  C# 3.0实现面向对象 51

3.1  什么是面向对象 51

3.2  类 52

3.2.1  类和对象 52

3.2.2  类的字段 53

3.2.3  类的属性 54

3.2.4  类的方法 57

3.2.5  类的构造函数 58

3.2.6  成员可访问性 60

3.2.7  类索引器 60

3.2.8  静态成员 63

3.3  类继承 65

3.3.1  类的继承 65

3.3.2  构造顺序 66

3.3.3  重载类成员 67

3.3.4  覆盖类成员 69

3.3.5  抽象类 71

3.3.6  密封类 71

3.3.7  Object类 72

3.4  委托和事件 72

3.4.1  定义委托 72

3.4.2  定义类的事件 74

3.4.3  引发类的事件 75

3.4.4  注册和注销事件 75

3.5  接口 77

3.5.1  定义接口 77

3.5.2  实现接口 78

3.5.3  实现多重接口 81

3.6  异常处理 83

3.6.1  什么是异常 83

3.6.2  捕获异常 84

3.6.3  抛出异常 85

3.6.4  Exception类 86

3.6.5  自定义异常 88

3.6.6  多重捕获异常 89

3.7  其他特性 91

3.7.1  匿名类型 91

3.7.2  扩展方法 92

3.8  命名空间 94

3.8.1  什么是命名空间 94

3.8.2  自定义命名空间 95

3.9  小结 96

第4章  C#集合类 97

4.1  C#集合类 97

4.2  ArrayList动态数组 97

 

4.2.1  ArrayList的成员 98

4.2.2  创建动态数组 99

4.2.3  访问动态数组元素 100

4.2.4  获取动态数组属性 101

4.2.5  添加动态数组元素 103

4.2.6  删除动态数组元素 104

4.2.7  排序和定位动态数组元素 105

4.3  List列表 107

4.3.1  创建列表 108

4.3.2  访问列表的元素 108

4.3.3  获取列表属性 109

4.3.4  添加列表元素 110

4.3.5  删除列表元素 111

4.3.6  排序和定位列表元素 112

4.3.7  搜索符合条件的列表元素 114

4.4  Hashtable哈希表 116

4.4.1  Hashtable成员 116

4.4.2  创建一个哈希表 117

4.4.3  访问哈希表元素 117

4.4.4  获取哈希表属性 118

4.4.5  添加数据到哈希表 118

4.4.6  删除哈希表元素 119

4.4.7  遍历哈希表 120

4.5  Dictionary字典 121

4.5.1  创建一个字典 121

4.5.2  访问字典元素 122

4.5.3  获取字典元素个数 122

4.5.4  添加数据到字典 123

4.5.5  删除字典元素 123

4.5.6  遍历字典 124

4.6  小结 126

 

第2篇  窗体常见应用

 

第5章  Windows窗体控件 128

5.1  Windows窗体程序介绍 128

5.1.1  什么是Windows窗体程序 128

5.1.2  Windows窗体命名空间 129

5.2  创建窗体应用程序 130

5.2.1  窗体应用程序——

SimpleForm 130

5.2.2  修改窗体属性 131

5.2.3  响应窗体事件 133

5.2.4  添加窗体控件 135

5.2.5  响应控件事件 136

5.3  按钮类控件 137

5.3.1  用Label控件显示文本 137

5.3.2  用Button控件实现按钮 138

5.3.3  用CheckBox控件实现

多选 140

5.3.4  用RadioButton控件实现

单选 141

5.4  文本输入控件 143

5.4.1  用TextBox控件输入文本 143

5.4.2  用MaskedTextBox控件输入

特定格式文本 145

5.5  列表类控件 146

5.5.1  用ComboBox控件实现下拉

列表框 146

5.5.2  用ListBox控件实现列表

界面 148

5.6  容器类控件 151

5.6.1  用GroupBox控件进行

控件分组 151

5.6.2  用Panel控件实现界面

切换 152

5.6.3  用TabControl控件实现

选项卡 152

5.7  菜单\工具栏\状态栏 153

5.7.1  用MenuStrip控件实现

主菜单 154

5.7.2  用ContextMenuStrip控件

实现上下文菜单 155

5.7.3  用ToolStrip控件实现

工具栏 155

5.7.4  用StatusStrip控件实现

状态栏 156

5.8  其他控件 157

5.8.1  日期时间控件 157

5.8.2  TreeView控件 158

5.8.3  其他Windows控件 159

5.9  小结 159

第6章  Windows 窗体——Form 160

6.1  Windows窗体介绍 160

6.1.1  什么是Windows窗体 160

6.1.2  Windows窗体类——Form 161

6.2  设计Windows窗体 163

6.2.1  设计主窗体——FrmEditor 163

6.2.2  设计“关于”对话框——

AboutDlg 165

6.2.3  设计“属性”对话框——

PropDlg 167

6.3  处理窗体重要事件 168

6.3.1  通过Load事件初始化

界面和数据 168

6.3.2  通过FormClosing事件

退出前处理 170

6.3.3  其他Form事件的常见

用途 172

6.4  处理窗体中控件事件 172

6.4.1  处理“新建”事件 172

6.4.2  处理“打开”事件 173

6.4.3  处理“保存”事件 174

6.4.4  处理“另存为”事件 176

6.4.5  处理“退出”事件 177

6.4.6  处理“关于”事件 177

6.5  窗体之间的数据交互 178

6.5.1  将参数传递到弹出窗体 178

6.5.2  从弹出窗体取得新参数 180

6.5.3  使用PropDlg对话框

设置参数 181

6.6  使用.NET类库通用对话框 182

6.6.1  使用MessageBox类显示

“消息提示”对话框 182

6.6.2  使用OpenFileDialog类显示

“打开文件”对话框 184

6.6.3  使用SaveFileDialog类显示

“保存文件”对话框 184

6.6.4  使用ColorDialog类显示

“颜色选择”对话框 185

6.6.5  使用FontDialog类显示

“字体选择”对话框 186

6.7  小结 186

第7章  Windows多文档窗体程序 188

7.1  多文档窗体程序介绍 188

7.1.1  什么是多文档窗体应用

程序 188

7.1.2  .NET类库中如何实现多

文档窗体 189

7.2  设计多文档窗体 189

7.2.1  通过向导创建多文档父

窗体 190

7.2.2  设计父窗体——FrmMain 190

7.2.3  设计子窗体——FrmEditor 192

7.2.4  添加现有窗体——

AboutDlg、PropDlg 193

7.3  子窗体和父窗体的数据交互 194

7.3.1  通过子窗体属性进行数据

交互 194

7.3.2  通过子窗体方法进行数据

交互 195

7.3.3  通过子窗体事件进行数据

交互 197

7.4  管理子窗体 198

7.4.1  显示子窗体 198

7.4.2  关闭子窗体 199

7.4.3  遍历子窗体 199

7.4.4  排列子窗体 200

7.5  小结 202

第8章  自定义控件开发 203

8.1  自定义控件介绍 203

8.1.1  窗体控件的基础——

Control类 203

8.1.2  自定义控件的分类 204

8.2  扩展控件——IntTextBox

实现 205

8.2.1  从TextBox控件派生

IntTextBox控件 205

8.2.2  实现IntTextBox非法字符

屏蔽 206

8.2.3  实现IntTextBox其他功能 207

8.2.4  添加IntTextBox控件 210

8.2.5  使用IntTextBox控件 212

8.3  用户控件——NameUC实现 213

8.3.1  新建NameUC控件 213

8.3.2  实现NameUC控件 214

8.3.3  添加NameUC控件 217

8.3.4  使用NameUC控件 218

8.4  自定义控件组合——CaculatorUC

实现 218

8.4.1  新建自定义控件——

CaculatorUC 218

8.4.2  为CaculatorUC控件添加

CaculateFinished事件 219

8.4.3  实现CaculatorUC控件 220

8.5  小结 224

第9章  WPF开发实例 225

9.1  WPF简介 225

9.1.1  什么是WPF 225

9.1.2  WPF开发模式 227

9.1.3  WPF应用程序 228

9.2  WPF独立应用程序 229

9.2.1  创建WPF独立应用程序 229

9.2.2  WPF窗体介绍 231

9.2.3  修改WPF窗体外观 232

9.2.4  使用WPF窗体事件 234

9.3  WPF控件 237

9.3.1  创建控件 237

9.3.2  设置控件外观 239

9.3.3  使用控件事件 241

9.4  WPF浏览器应用程序 244

9.4.1  创建WPF浏览器应用

程序 244

9.4.2  页面导航 246

9.5  WPF实例——TextReader 248

9.5.1  TextReader界面设计 249

9.5.2  显示子窗体 251

9.5.3  关闭窗体 252

9.5.4  使用TreeView控件 252

9.5.5  使用RichTextBox控件 258

9.6  小结 261

第10章  文件操作和管理 262

10.1  IO访问命名空间 262

10.2  使用File、FileInfo类进行文件

管理 262

10.2.1  创建自动删除文件 263

10.2.2  创建文件并获取新文件

对象 264

10.2.3  一次性复制文件操作 265

10.2.4  复制文件并获取新文件

对象 266

10.2.5  移动和重命名文件 267

10.2.6  判断文件是否存在 268

10.2.7  获取文件的属性 269

10.2.8  删除文件 271

10.3  使用Directory、DirectoryInfo

进行文件夹管理 271

10.3.1  创建目录 272

10.3.2  删除目录 272

10.3.3  移动和重命名目录 273

10.3.4  遍历目录文件和子目录 274

10.4  使用文件流进行文件读写 276

10.4.1  什么是文件流 276

10.4.2  二进制文件写入 277

10.4.3  二进制文件读取 278

10.4.4  文本文件写入 280

10.4.5  文本文件读取 282

10.5  小结 283

第11章  日期时间操作和使用 284

11.1  使用DateTime处理日期

时间 284

11.1.1  DateTime主要成员 284

11.1.2  DateTime转换成字符串 287

11.1.3  DateTime日期时间计算 289

11.2  MonthCalendar控件实现

日历 292

11.2.1  MonthCalendar主要成员 292

11.2.2  MonthCalendar使用示例 293

11.3  Date`TimePicker控件选择日期

时间 297

11.3.1  DateTimePicker主要成员 297

11.3.2  DateTimePicker使用示例 298

11.4  Timer控件实现定时器 300

11.4.1  初始化Timer控件 300

11.4.2  Timer控件使用示例 300

11.5  小结 301

第12章  多线程编程 302

12.1  多线程介绍 302

12.1.1  什么是多线程 302

12.1.2  线程命名空间 303

12.2  C#中多线程实现 304

12.2.1  线程执行函数 304

12.2.2  启动线程 305

12.2.3  结束线程 308

12.3  线程间数据同步 310

12.3.1  线程间数据共享 310

12.3.2  lock语句同步数据访问 312

12.3.3  Mutex类同步数据访问 314

12.3.4  Monitor类同步数据访问 316

12.4  创建带参数的线程 319

12.4.1  带参数线程处理函数 319

12.4.2  使用带参数线程 319

12.5  小结 321

第13章  动态链接库编程 322

13.1  动态链接库介绍 322

13.1.1  什么是动态链接库 322

13.1.2  .NET动态链接库 323

13.2  .NET类库项目——

MyVehicle 324

13.2.1  创建DLL要考虑的

问题 324

13.2.2  创建类库项目MyVehicle 325

13.2.3  添加MyVehicle对外

接口 325

13.2.4  实现MyVehicle 328

13.2.5  生成DLL文件

MyVehicle.dll 333

13.3  使用MyVehicle类库 333

13.3.1  通过项目引用MyVehicle

类库 333

13.3.2  调用MyVehicle对外

接口 334

13.3.3  通过DLL引用MyVehicle

类库 336

13.4  小结 340

 

第3篇  数据访问应用

 

第14章  SQL Server 2005介绍 342

14.1  SQL Server 2005的安装和

主要功能 342

14.1.1  安装SQL Server 2005 342

14.1.2  SQL Server 2005结构 345

14.2  SQL Server 2005管理工具 346

14.2.1  添加数据库连接 346

14.2.2  新建数据库——Students 347

14.2.3  设计数据表 348

14.2.4  修改数据记录 350

14.2.5  设计视图 350

14.3  Visual Studio 2008管理

数据库 351

14.3.1  新建数据库 351

14.3.2  连接到数据库 352

14.3.3  管理数据库 353

14.4  小结 353

第15章  ADO.NET数据库编程 355

15.1  ADO.NET介绍 355

15.1.1  什么是ADO.NET 355

15.1.2  System.Data命名空间 356

15.2  DataSet和DataTable类 357

15.2.1  DataTable类成员 358

15.2.2  创建DataTable 360

15.2.3  遍历DataTable的记录 362

15.2.4  接受和回滚DataTable的

更改 364

15.2.5  DataSet类成员 367

15.2.6  使用DataSet类 369

15.2.7  接受和回滚DataSet的

更改 374

15.3  SQL Server数据库访问 375

15.3.1  数据库访问步骤 375

15.3.2  用SqlConnection连接

数据库 376

15.3.3  用SqlCommand执行

SQL命令 379

15.3.4  用SqlDataReader读取

数据库记录 382

15.3.5  用SqlDataAdapter获取

数据库记录 385

15.3.6  用SqlDataAdapter更改

数据库记录 388

15.4  Access数据库访问 391

15.4.1  System.Data.OleDb命名

空间 391

15.4.2  Access数据库访问 391

15.5  使用数据库访问控件 392

15.5.1  用DataGridView控件

修改记录 392

15.5.2  用BindingNavigator控件

导航记录 395

15.6  语言集成查询LINQ 396

15.6.1  什么是LINQ 396

15.6.2  查询表达式基础 397

15.6.3  复合查询 399

15.6.4  联接查询 401

15.6.5  查询结果排序 403

15.6.6  查询数据类型 406

15.6.7  查询的扩展方法 408

15.6.8  LINQ to DataSet 412

15.6.9  LINQ其他功能 413

15.7  小结 414

第16章  XML文件数据访问 415

16.1  XML概述 415

16.1.1  什么是XML文件 415

16.1.2  System.Xml命名空间 417

16.2  用XmlReader类读取XML

文件 418

16.2.1  XmlReader的成员 418

16.2.2  读取XML文件的步骤 420

16.2.3  读取XML文件的数据 422

16.3  用XmlWriter类写入XML

文件 429

16.3.1  XmlWriter的成员 429

16.3.2  写入XML文件的步骤 430

16.3.3  写入XML文件的

数据 431

16.4  用XmlDocument类访问XML

文件 435

16.4.1  XmlDocument和XmlNode

成员 435

16.4.2  加载XML数据 437

16.4.3  遍历XML节点 438

16.4.4  编辑XML节点 440

16.4.5  保存XML数据 442

16.5  小结 444

 

第4篇  网络通讯应用

 

第17章  TCP/IP服务器开发 448

17.1  TCP/IP概述 448

17.1.1  TCP/IP开发概述 448

17.1.2  .NET网络处理命名空间 449

17.2  TCP/IP服务器端开发 450

17.2.1  服务器端开发步骤 451

17.2.2  Socket类成员 451

17.2.3  用Socket类监听连接 454

17.2.4  TcpListener类成员 456

17.2.5  用TcpListener类监听

连接 457

17.3  ChatRoom服务器端实例 458

17.3.1  ChatRoom软件基本结构 458

17.3.2  ChatRoom软件的通讯

协议 459

17.3.3  ChatRoom通讯协议

具体实现 460

17.3.4  ImServer类对客户端

管理 465

17.3.5  ImServer类监听客户端

连接 469

17.3.6  ImServer类处理客户端

消息 470

17.3.7  ImServer类启动和停止 473

17.3.8  使用服务器类ImServer 475

17.4  小结 479

第18章  TCP/IP客户端开发 481

18.1  TCP/IP客户端开发 481

18.1.1  客户端程序开发步骤 481

18.1.2  TcpClient类 481

18.1.3  用TcpClient连接服务器 482

18.1.4  NetworkStream网络

数据流 483

18.1.5  用NetworkStream传输

数据 484

18.2  ChatRoom客户端实例 486

18.2.1  客户端界面设计 486

18.2.2  连接服务器 488

18.2.3  处理服务器消息 490

18.2.4  发送聊天信息 493

18.2.5  客户端运行效果 494

18.3  小结 495

第19章  ASP.NET网页开发 496

19.1  ASP.NET简介 496

19.1.1  什么是ASP.NET 496

19.1.2  Web命名空间 497

19.1.3  创建Web应用程序 497

19.2  使用ASP.NET控件 499

19.2.1  用TextBox控件实现

文本输入 499

19.2.2  用Button控件实现按钮 501

19.2.3  用HyperLink控件实现

超链接 502

19.2.4  用DropDownList、ListBox

等实现列表 503

19.2.5  用Menu控件实现菜单

导航 505

19.3  网页开发实例——留言本 507

19.3.1  设计留言本网站 508

19.3.2  欢迎页面实现 509

19.3.3  添加留言页面实现 510

19.3.4  查看留言页面实现 514

19.3.5  发布留言板网站 517

19.4  小结 519

 

第5篇  综合实例

 

第20章  软件开发流程概述 522

20.1  软件工程概述 522

20.1.1  什么是软件工程 522

20.1.2  软件开发基本流程 523

20.2  需求分析介绍 525

20.2.1  需求分析的任务 525

20.2.2  需求分析的方法 526

20.3  概要设计介绍 527

20.4  用Visual Studio 2008完成

类设计 527

20.4.1  详细设计的任务 528

20.4.2  创建Visual Studio 2008

类关系图 528

20.4.3  类关系图编辑 530

20.4.4  类关系图类编辑 531

20.5  用Visual Studio 2008进行

软件编码 534

20.5.1  C#编码规范 534

20.5.2  Visual Studio 2008常用

技巧 535

20.6  用Visual Studio 2008进行

软件测试 537

20.6.1  软件测试的任务和方法 537

20.6.2  软件测试过程 538

20.6.3  Visual Studio 2008单元

测试 539

20.6.4  创建单元测试方法 542

20.6.5  单元测试结果查看 545

20.7  软件维护和更新 546

20.8  小结 547

第21章  综合实例——个人理财

助手 548

21.1  个人理财助手需求分析 548

21.1.1  个人理财助手需求采集 548

21.1.2  个人理财助手需求分析 549

21.2  个人理财助手的设计 551

21.2.1  个人理财助手整体结构 551

21.2.2  个人理财助手数据库设计 552

21.2.3  个人理财助手界面设计 554

21.3  个人理财助手界面实现 556

21.3.1  主界面初始化和关闭 556

21.3.2  使用帮助实现 557

21.3.3  用户登录界面实现 559

21.3.4  用户登录功能实现 562

21.3.5  用户管理功能实现 564

21.3.6  银行卡信息管理界面实现 567

21.3.7  收入记录管理界面实现 570

21.3.8  收入记录编辑对话框实现 574

21.3.9  支出记录管理界面实现 579

21.4  个人理财助手数据读写

讲解 584

21.4.1  用户信息数据库操作

实现 584

21.4.2  银行卡信息数据库操作

实现 589

21.4.3  支出记录数据库操作实现 598

21.4.4  收入记录数据库操作实现 606

21.5  个人理财助手部署与演示 614

21.5.1  个人理财助手的部署 614

21.5.2  个人理财助手的演示 614

21.6  小结 618