当前位置:首页 > 工业技术
Visual C#2008开发技术详解
Visual C#2008开发技术详解

Visual C#2008开发技术详解PDF电子书下载

工业技术

  • 电子书积分:20 积分如何计算积分?
  • 作 者:李容乖编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2008
  • ISBN:9787121063183
  • 页数:718 页
图书介绍:C#是Microsoft专门为基于.NET Framework平台开发而量身定做的编程语言。本书全面细致地介绍了Visual Studio 2008环境下的C#编程技术。书中每个知识和技术要点都给予了翔实的例程及代码分析。本书从C#入门基础知识到C#的基本语法、从面向对象基础到泛型程序设计、从数据库操作到网络与安全编程、从ADO.NET到XML操作、从控制台应用程序开发到ASP.NET Web应用程序开发,再到Web服务程序开发等内容作了详细介绍,几乎涵盖了C#相关的所有开发技术。同时以较大篇幅介绍了C# 2008中的重要特性,如泛型、GDI+、ASP.NET、以及数据操作控件等。最后介绍两个案例,并给出详细的设计过程及代码说明,以巩固和加深本书介绍的知识。全书配合了大量的图例及代码说明,如果你希望掌握有关C#面向对象编程技术,那么本书将是不错的选择;如果你已经有这方面的编程经验,本书也可以作为学习和开发的一个很好的参考。
《Visual C#2008开发技术详解》目录

第1章 认识C 2

1.1 什么是C 2

1.1.1 Microso.NET框架 2

1.1.2 .NET框架的开发语言——C 3

1.1.3 C#的开发平台Visual Studio 2008 3

1.2 第一个C#程序 4

1.2.1 认识和配置Visual Studio 2008开发环境 4

1.2.2 第一个Windows Console程序 5

1.2.3 创建Windows Console程序 5

1.2.4 解决方案资源管理器 7

1.2.5 属性窗口 7

1.2.6 第一个Windows Form程序 8

1.2.7 创建Windows Form程序 8

1.2.8 Windows Form程序创建技巧 10

1.2.9 第一个ASp. NET程序 11

1.2.10 创建ASp.NET程序 11

1.2.11 Web程序和Windows程序的区别 14

1.3 一个优秀的开发助手——MSDN 15

1.4 小结 15

第2章 C#语法基础 18

2.1 C#的基本语法 18

2.2 变量 19

2.2.1 变量的声明 19

2.2.2 变量的赋值 20

2.2.3 简单数据类型 21

2.2.4 使用简单数据类型 22

2.2.5 使用struct创建结构类型 24

2.2.6 结构类型例程 25

2.2.7 定义结构的构造函数 27

2.2.8 类型转换 29

2.2.9 隐式转换 29

2.2.10 显式转换 31

2.2.11 根据参与类型转换的划分 33

2.3 常量 33

2.3.1 静态常量 33

2.3.2 动态常量 34

2.3.3 使用动态常量 35

2.4 表达式 36

2.4.1 数学运算符 37

2.4.2 普通数学运算符 37

2.4.3 自加和自减运算符 38

2.4.4 赋值运算符 39

2.4.5 比较运算符 41

2.4.6 运算符的优先级 42

2.4.7 命名空间 43

2.4.8 嵌套命名空间 44

2.5 流程控制 45

2.5.1 分支语句 45

2.5.2 三元运算符 45

2.5.3 if语句 47

2.5.4 使用if语句 48

2.5.5 程序流程 49

2.5.6 switch语句 50

2.5.7 使用switch语句 50

2.5.8 goto语句 51

2.5.9 循环语句 53

2.5.10 do-while语句 53

2.5.11 使用do-while语句 53

2.5.12 while语句 55

2.5.13 使用while语句 55

2.5.14 for语句 57

2.5.15 使用for语句 58

2.5.16 foreach循环语句 59

2.5.17 循环中断语句 61

2.5.18 使用break语句 61

2.5.19 使用continue语句 62

2.5.20 使用return语句 63

2.6 小结 64

第3章 C#面向对象基础 65

3.1 类的基本概念 65

3.1.1 C#中的类定义 65

3.1.2 字段 66

3.1.3 常量 66

3.1.4 域 66

3.1.5 类的方法 67

3.1.6 类的属性 69

3.1.7 类的索引器 71

3.1.8 类的构造函数和析构函数 72

3.1.9 事件 74

3.2 VisualStudio中的类向导 74

3.3 事件和委托 77

3.3.1 委托 78

3.3.2 委托的事件处理程序 79

3.3.3 委托中的GUI事件 82

3.4 面向对象的特征 83

3.4.1 继承 83

3.4.2 多态 85

3.4.3 封装 87

3.4.4 重载 87

3.4.5 方法重载 88

3.4.6 运算符重载 88

3.5 接口 89

3.5.1 接口的声明 89

3.5.2 接口的使用 90

3.6 面向对象的其他主题 90

3.6.1 命名空间 91

3.6.2 程序集 92

3.6.3 类库 93

3.7 小结 94

第4章 字符串处理 95

4.1 字符串的常用功能 95

4.1.1 字符串的比较 95

4.1.2 字符串的格式化 96

4.1.3 字符串的大小写转换 96

4.1.4 字符串的拆分与截取 96

4.2 StringBuilder类 97

4.2.1 字符串对象的追加 97

4.2.2 字符串的插入、删除与替换 97

4.3 正则表达式 98

4.3.1 System.Text.RegularExpression命名空间 98

4.3.2 正则表达式的语法 98

4.3.3 正则表达式验证用户输入 99

4.3.4 使用正则表达式来替换字符串 100

4.4 小结 101

第5章 数组处理 102

5.1 创建数组 102

5.2 多维数组 103

5.3 动态数组 103

5.3.1 创建简单的动态数组 104

5.3.2 动态数组的排序 105

5.4 数组的特殊操作 106

5.4.1 作为参数传递的数组 106

5.4.2 将一维数组作为参数传递 106

5.4.3 将多维数组作为参数传递 107

5.4.4 数组的数组 108

5.5 小结 108

第6章 集合与泛型 109

6.1 什么是集合 109

6.2 SortedList可排序数组集合 109

6.3 Queue消息队列集合 110

6.4 Stack栈集合 112

6.5 HashTable哈希表集合 113

6.6 集合中的一些重要概念 114

6.6.1 集合中的索引器 114

6.6.2 集合中的迭代器 115

6.6.3 深度复制 116

6.7 为集合使用泛型 118

6.7.1 定义泛型类 118

6.7.2 定义泛型接口 120

6.7.3 定义泛型方法 120

6.7.4 定义泛型委托 121

6.8 小结 121

第7章 代码调试 122

7.1 Visual Studio2008中的调试 122

7.1.1 正常模式下的调试 122

7.1.2 中断模式下的调试 124

7.2 错误和异常处理 127

7.2.1 使用try...catch...finally语句 127

7.2.2 常见异常类型 129

7.2.3 创建和抛出自定义的异常 129

7.3 小结 130

第8章 编写Windows窗体应用程序 132

8.1 一个Windows窗体程序的深入分析 132

8.1.1 一个典型的Windows窗体程序 132

8.1.2 调试Windows窗体程序 134

8.1.3 调试总结 137

8.2 Windows窗体基本设计内容 137

8.2.1 设置窗体的位置与大小 137

8.2.2 人工设置窗体的位置与大小 138

8.2.3 设置窗体的位置与大小的其他方法 139

8.2.4 设置窗体的边框 140

8.2.5 使用属性窗口设置窗体边框 140

8.2.6 在代码中设置各种窗体边框 141

8.2.7 设置控件框和最小化、最大化、关闭按钮 142

8.2.8 在程序中设置最小化、最大化、关闭按钮 142

8.2.9 设置控件框按钮 144

8.2.10 窗体的事件 145

8.2.11 Load事件 145

8.2.12 鼠标悬停事件 146

8.2.13 按键事件 147

8.2.14 鼠标单击事件 147

8.3 SDI应用程序、MDI应用程序和菜单 148

8.3.1 基于对话框的应用程序 148

8.3.2 单文档(SDI)应用程序 148

8.3.3 多文档(MDI)应用程序 149

8.3.4 菜单 149

8.3.5 多文档、单文档和菜单的设计方法 150

8.4 快捷菜单(ContextMenuStrip) 154

8.5 小结 156

第9章 使用Windows窗体控件 157

9.1 控件 157

9.1.1 控件的属性 157

9.1.2 使用Dock属性布局控件 158

9.1.3 控件的事件 159

9.1.4 为控件添加事件 160

9.2 TextBoxRichTextBox和Button控件 161

9.2.1 使用Button控件实现按钮功能 161

9.2.2 为Button控件设置图片和显示样式 162

9.2.3 使用TextBox控件实现文本的输入和输出功能 163

9.2.4 一个Button和TextBox控件的综合实例 165

9.2.5 综合实例说明 170

9.3 Label和LabelLink控件 171

9.3.1 使用Label控件实现标签功能 171

9.3.2 使用LinkLabel控件实现超链接设置 172

9.4 RadioButton和CheckBox控件 174

9.4.1 使用RadioButton控件实现单选功能 17

9.4.2 使用CheckBox控件实现复选功能 174

9.4.3 一个相应单选和复选事件的实例 175

9.5 使用GroupBox和Panel控件实现控件的分组 178

9.6 ListView控件 179

9.6.1 设置ListView控件的属性 179

9.6.2 ListView控件的事件 180

9.6.3 一个读写ListView控件的实例 181

9.6.4 添加窗体的加载事件处理程序 183

9.6.5 程序运行效果 185

9.6.6 读取XML数据并填充ListView 186

9.6.7 VS2008中建立XML 186

9.6.8 VS2008中读取XML并填充ListView 187

9.6.9 将ListView数据写入XML 190

9.6.10 AfterLabelEdit事件 190

9.6.11 ListView各项的修改 193

9.7 TreeView控件 197

9.7.1 TreeView的属性和事件 197

9.7.2 TreeView树读取并显示XML节点 199

9.7.3 程序运行结果及说明 202

9.8 小结 202

第10章 GDI+概述 203

10.1 GDI+的工作原理 203

10.2 图形绘制基础 204

10.2.1 Graphics类 204

10.2.2 Pen类的用法 205

10.2.3 Brush类的用法 207

10.2.4 Font类的用法 210

10.3 GDI+的一些实例 211

10.3.1 图像的缩放 212

10.3.2 图像的剪切 214

10.3.3 图像的旋转 216

10.3.4 图像的切换显示 218

10.3.5 图片的打印和打印预览 219

10.3.6 自己写播放器 221

10.4 小结 223

第11章 文件的操作 225

11.1 流的概念 225

11.2 用于输入和输出的类 226

11.2.1 文件的移动、删除和复制 226

11.2.2 目录的移动、删除和复制 228

11.2.3 流和文件的读写 228

11.3 对话框 233

11.3.1 文件对话框 233

11.3.2 字体对话框 237

11.3.3 颜色对话框 239

11.3.4 页面设置 241

11.3.5 打印预览对话框和打印对话框 242

11.4 高级主题 245

11.4.1 监控文件结构 245

11.4.2 文件异步写入 250

11.5 小结 252

第12章 部署Windows应用程序 253

12.1 WindowsInstaller部署 253

12.1.1 创建部署 253

12.1.2 在部署中编辑器 255

12.1.3 文件系统编辑器 255

12.1.4 用户界面编辑器 257

12.1.5 文件类型编辑器 260

12.1.6 启动条件编辑器 261

12.1.7 注册表编辑器 262

12.1.8 自定义操作编辑器 262

12.2 WindowsInstaller部署安装全过程 263

12.2.1 欢迎 263

12.2.2 自述文件 264

12.2.3 许可协议 264

12.2.4 客户信息 264

12.2.5 注册用户和复选框 265

12.2.6 选择安装文件夹和确认安装 265

12.2.7 进度和安装提示 265

12.2.8 安装完成 266

12.3 程序的卸载和修复 267

12.4 VS2005中的其他打包方式 268

12.5 ClickOnce部署 268

12.5.1 部署策略的选择 269

12.5.2 创建ClickOnce部署 269

12.5.3 安装全过程 271

12.6 两种部署方式的比较 272

12.7 小结 272

第13章 数据库基础知识 274

13.1 SQLServer2005的安装 274

13.2 Transact-SQL语言 277

13.2.1 Transact-SQL的特点 277

13.2.2 数据控制语言 277

13.2.3 数据定义语言 278

13.2.4 数据操纵语言 278

13.2.5 事务管理语言 278

13.2.6 其他附加语言 278

13.3 表 283

13.3.1 创建、修改和删除表 283

13.3.2 操纵表中的数据 284

13.3.3 主键约束 286

13.3.4 外键约束 287

13.3.5 唯一性约束 288

13.3.6 CHECK约束 288

13.3.7 默认约束 288

13.4 存储过程 288

13.4.1 创建存储过程 289

13.4.2 执行和删除存储过程 290

13.4.3 SQLServer2005中的存储过程向导 290

13.5 触发器 292

13.5.1 创建和使用触发器 292

13.5.2 SQLServer2005中的触发器向导 293

13.6 事务和锁 294

13.6.1 事务 294

13.6.2 锁 296

13.7 小结 297

第14章 利用ADO.NET访问数据库 298

14.1 ADO.NET中的图形化方式 298

14.1.1 连接到数据库 298

14.1.2 在VS2008中创建数据库 300

14.1.3 使用SqlDataAdapter对数据库中表的查询 301

14.1.4 添加、删除和修改数据库中的内容 303

14.2 ADO.NET中的.NET数据提供者 305

14.3 ADO.NET中的DataSet组件 308

14.3.1 DataSet的结构 308

14.3.2 为DataSet创建和删除表 309

14.3.3 在表中列和行的添加和删除 310

14.3.4 设置表的主键 311

14.3.5 为DataSet中的表添加约束 311

14.3.6 为DataSet中的表添加关系 312

14.3.7 DataSet中的导航功能 312

14.3.8 DataSet与XML的交互 313

14.4 ADO.NET操作存储过程 316

14.5 ADO.NET操作触发器 320

14.5.1 创建触发器 321

14.5.2 修改和删除触发器 321

14.6 ADO.NET3.5的高级特性简介 322

14.7 小结 322

第15章 在.NET中访问XML 323

15.1 什么是XML 323

15.1.1 XML与HTML的区别 323

15.1.2 为处理XML提供基于标准的支持——System.Xml命名空间 324

15.2 在.NET中读取XML 325

15.2.1 使用XmiDocument读取整个XML文件 326

15.2.2 使用XmIReader的实现类XmITextReader读取XML文件 328

15.2.3 使用XmINodeReader读取XML中的节点 331

15.2.4 在读取XML文件时使用XmlValidatingReader进行数据验证 334

15.3 在C#中编写XML文件 335

15.3.1 使用XmlWriter创建XML文件 335

15.3.2 使用XmITextWriter编写XML文件 336

15.4 使用XPath检索XML文件 339

15.4.1 XPath的语法 339

15.4.2 XPath实现检索的综合实例 341

15.5 修改XML文件中的数据(DOM应用) 346

15.5.1 利用DOM实现类建立XML文档 346

15.5.2 一个应用实例 347

15.5.3 利用DOM实现类添加和删除XML节点 351

15.5.4 程序运行结果及说明 356

15.6 小结 356

第16章 线程 358

16.1 线程的创建、启动和终止 358

16.2 线程的挂起和恢复 360

16.3 多线程 362

16.3.1 线程的优先级 362

16.3.2 lock关键字锁定线程 362

16.3.3 线程的同步 363

16.3.4 使用线程池 366

16.3.5 使用定时器 368

16.4 线程中的异常 370

16.5 小结 371

第17章 Socket编程 372

17.1 Socket基本原理 372

17.2 服务器的结构 373

17.2.1 Socket类成员 373

17.2.2 Socket类实例:服务器通信 375

17.2.3 Socket类实例:利用多线程解决服务器通信问题 376

17.3 客户端的结构 378

17.4 基于网络流的数据传输 380

17.4.1 网络流的服务器开发 381

17.4.2 网络流的客户器开发 381

17.5 一个基于Socket的C/S模式的完整例子 382

17.5.1 基于Socket服务器端实现 382

17.5.2 基于Socket客户端实现 385

17.5.3 基于Socket的C/S实例的运行 386

17.6 基于UDP的数据传输 387

17.6.1 UDP的类库 388

17.6.2 UDP数据传输实例 388

17.7 异步通信问题 392

17.8 小结 394

第18章 .NET安全编程中的密码术 395

18.1 密码术的基本内容 395

18.2 对称密码术 396

18.2.1 DES算法 396

18.2.2 RC2算法 399

18.2.3 Rijndael算法 401

18.3 非对称密码术 403

18.3.1 RSA算法 404

18.3.2 其他非对称密码术 406

18.4 数字签名技术 407

18.4.1 数字签名的工作原理 407

18.4.2 一个数字签名的完整例子 408

18.4.3 数字签名的客户端流程 408

18.4.4 数字签名的服务器端流程 412

18.4.5 数字签名实例的运行效果 418

18.5 小结 420

第19章 .NET中的电子邮件处理 421

19.1 电子邮件协议SMTP 421

19.2 使用System.Net.Mail命名空间的类发送电子邮件 421

19.3 一个发送电子邮件实例 422

19.3.1 主界面及代码设计 422

19.3.2 邮件参数配置界面及代码设计 424

19.3.3 发送界面及代码设计 426

19.3.4 程序运行效果及说明 432

19.4 小结 432

第20章 Web编程基础 434

20.1 Web工作原理 434

20.1.1 超文本传输协议(HTTP) 434

20.1.2 Web服务器工作原理 435

20.2 超文本标记语言——HTML 435

20.2.1 第一个HTML页面 436

20.2.2 代码说明 437

20.2.3 将HTML页面修改为动态页面 437

20.2.4 代码说明 440

20.3 一种脚本编写语言JavaScript 441

20.3.1 定义函数 441

20.3.2 无参函数 441

20.3.3 有参函数 443

20.3.4 常用对象的属性和方法 444

20.3.5 数组对象(Array) 444

20.3.6 使用数组对象(Array) 445

20.3.7 日期对象(Date) 449

20.3.8 使用日期对象(Date) 451

20.3.9 布尔对象(Boolean) 452

20.3.10 函数对象(Function) 454

20.3.11 字符串对象(String) 456

20.3.12 数值对象(Number) 458

20.3.13 数学对象(Math) 460

20.3.14 JavaScript中的事件及事件处理程序 462

20.3.15 在JavaScript中编写事件处理程序 462

20.3.16 程序说明 463

20.3.17 运行效果 464

20.4 ASp.NET技术 465

20.4.1 动态服务器编程技术ASp.NET 465

20.4.2 一个简单的ASp.NET应用程序 465

20.4.3 程序运行效果及说明 471

20.5 读写SQLServer2005数据库 473

20.5.1 创建数据库和表 473

20.5.2 配置数据库连接字符串 475

20.5.3 程序运行效果及说明 480

20.6 建设优秀网站需要考虑的问题——搜索引擎优化(SEO) 480

20.6.1 什么是SEO 481

20.6.2 影响搜索引擎排名的基本因素 481

20.6.3 对搜索引擎排名不利的因素 482

20.7 小结 483

第21章 表单及ASP.NET对象 484

21.1 表单 484

21.1.1 表单原理 484

21.1.2 创建表单 485

21.1.3 程序运行效果及说明 487

21.2 5个ASp.NET对象 488

21.2.1 检索从浏览器发送到服务器的请求信息——Request对象 488

21.2.2 Request对象中的集合 489

21.2.3 在程序中使用Cookie 491

21.2.4 程序运行效果及说明 493

21.2.5 Request中的Browser对象 494

21.2.6 Request的其他属性和方法 494

21.2.7 将数据从服务器发回浏览器——Response对象 495

21.2.8 共享应用程序全局信息——Application对象 496

21.2.9 Application的数据存储方式 496

21.2.10 使用Application对象实现网站的访客数的统计 497

21.2.11 维护每个客户的个人信息——Session对象 502

21.2.12 用Session存储数据 502

21.2.13 Session存储演示 503

21.2.14 获取服务器信息——Server对象 505

21.2.15 认识Server对象 505

21.2.16 Server对象的演示 505

21.2.17 程序运行效果及说明 507

21.3 一个聊天室实例 508

21.3.1 聊天室实例的模块划分 508

21.3.2 聊天室实例的项目配置 509

21.3.3 聊天室的登录 511

21.3.4 聊天室的聊天主界面 516

21.3.5 发送聊天信息 517

21.3.6 程序流程及说明 519

21.3.7 显示聊天记录 521

21.3.8 聊天演示 523

21.4 配置Internet信息服务(IIS)管理器 523

21.5 小结 525

第22章 Web程序中的服务器端控件 526

22.1 服务器控件 526

22.1.1 什么是服务器控件 526

22.1.2 服务器控件与HTML控件的区别 527

22.2 数据操作控件 527

22.2.1 用于连接SQL数据库的数据源控件——SqlDataSource控件 527

22.2.2 使用SqlDataSource控件 528

22.2.3 以表的形式显示数据——GridView控件 532

22.2.4 一次显示一条表格形式的记录——DetailsView控件 534

22.3 验证控件 538

22.3.1 限制空字段控件 538

22.3.2 程序运行效果及说明 539

22.3.3 比较两个字段控件 539

22.3.4 检查指定范围控件 542

22.3.5 表达式验证控件 543

22.3.6 自定义验证控件 544

22.3.7 程序运行效果及说明 546

22.3.8 错误信息汇总控件 547

22.4 用户控件 548

22.5 小结 551

第23章 ASP.NET3.5高级编程 552

23.1 为一组页面设计相同的风格——母版(MasterPage) 552

23.1.1 创建MasterPage 552

23.1.2 在MasterPage中添加元素 553

23.1.3 创建ContentPage 557

23.1.4 访问母版页中的控件 559

23.1.5 嵌套使用MasterPage 562

23.2 主题和皮肤 564

23.2.1 什么是主题 565

23.2.2 在主题中创建皮肤文件 565

23.2.3 动态加载主题 568

23.3 自定义页面(WebParts) 572

23.3.1 设置WebParts运行环境 572

23.3.2 编写一个简单的WebParts页面 575

23.3.3 编辑WebParts控件 582

23.3.4 使用CatalogZone控件 585

23.3.5 导出与导入WebParts控件 587

23.3.6 使用静态连接实现WebParts控件之间数据传递 590

23.3.7 使用动态连接实现WebParts控件之间数据传递 593

23.4 小结 595

第24章 操作WebService 596

24.1 什么是WebService 596

24.2 在ASp.NET中创建和调用WebService 597

24.2.1 创建WebService 597

24.2.2 程序运行效果及说明 601

24.2.3 使用POST方法调用WebService 602

24.3 在应用程序中使用WebService代理 603

24.3.1 创建客户端程序 603

24.3.2 在客户端程序中使用WebService代理 604

24.4 一个典型的WebService调用的例子 605

24.5 小结 610

第25章 图书管理系统 612

25.1 普通用户模块设计 612

25.1.1 普通用户模块界面设计 613

25.1.2 数据库设计 614

25.1.3 控件事件处理 614

25.2 管理员模块设计 620

25.2.1 登录功能 620

25.2.2 公告栏功能 621

25.2.3 查看书的目录信息 621

25.2.4 读取用户留言 622

25.2.5 管理员登录代码 623

25.2.6 修改公告栏代码 625

25.2.7 读取用户意见的代码 626

25.3 系统启动界面设计 628

25.4 示例演示 629

25.5 小结 633

25.5.1 本章主要内容 634

25.5.2 窗体间的数据通信 634

25.5.3 Panel覆盖 635

25.5.4 .txt文件的操作 635

25.5.5 ADO.NET相关操作 635

25.5.6 本例完整代码 636

25.5.7 Forml.cs窗体 636

25.5.8 Login.cs登录窗体 645

25.5.9 Board.cs公告版 646

25.5.10 Read.cs读取窗体 646

第26章 学生信息管理系统 648

26.1 系统分析 648

26.1.1 需求分析 648

26.1.2 数据库分析 649

26.1.3 系统模块划分 650

26.2 学生访问模块设计 650

26.2.1 数据库设计 651

26.2.2 系统配置与操作类设计 652

26.2.3 设计学生用户登录界面及代码 657

26.2.4 利用母版设计主界面 660

26.2.5 设计数据显示控件 662

26.3 教师访问模块设计 670

26.3.1 数据库设计 670

26.3.2 操作类设计 673

26.3.3 设计教师用户登录界面及代码 674

26.3.4 设计数据显示控件 677

26.3.5 添加学生信息查找及页面返回功能 683

26.3.6 实现数据显示控件的分页显示 688

26.3.7 实现详细信息查看 689

26.4 管理员访问模块设计 695

26.4.1 数据库设计 696

26.4.2 设计操作类及登录验证 696

26.4.3 设计主界面及数据显示控件 698

26.4.4 添加学生信息查找及分页功能 704

26.4.5 添加用户管理功能 708

26.5 小结 718

相关图书
作者其它书籍
返回顶部