
本书从最基本的概念出发,深入讲解了VB.NET的基础知识以及新特性。全书共有10章,分别介绍了.NET框架、VB.NET语言基础、窗体和常用控件、界面设计、面向对象程序设计、ADO.NET数据库访问、数据绑定和操作、文件处理、多线程应用程序以及.NET3.5的新特性。本书是基于Visual Staudio2008环境下开发VB.NET应用程序,详细介绍了如何使用VB.NET开发Windows窗体应用程序;使用ADO.NET进行数据库连接及访问;使用数据绑定控件在界面中进行数据绑定及操作;以及使用Linq进行集合、数据库查询等内容。 本书重点突出、偏重应用,结合理论篇的实例和实践篇对贯穿案例的讲解、剖析及实现,使读者能迅速理解并掌握知识,全面提高动手能力。 读者对象:适应面广,可作为本科计算机科学与技术、软件外包专业、高职高专计算机软件、计算机网络、计算机信息管理、电子商务和经济管理等专业的程序设计课程的教材。
前 言 随着IT产业的迅猛发展,企业对应用型人才的需求越来越大。“全面贴近企业需求,无缝打造专业实用人才”是目前高校计算机专业教育的革新方向。 该系列教材是面向高等院校软件专业方向的标准化教材。本教材充分结合软件企业的用人需求,经过了充分的调研和论证,并参照多所高校一线专家的意见,具有系统性、实用性等特点。旨在使读者在系统掌握软件开发知识的同时,着重培养其综合应用能力和解决问题的能力。 该系列教材具有如下几个特色。 1. 以应用型人才为导向来培养学生 强调实践:本系列教材以应用型软件及外包人才为培养目标,在原有体制教育的基础上对课程进行了改革,强化“应用型”技术的学习。使学生在经过系统、完整的学习后能够达到如下要求: 具备软件开发工作所需的理论知识和操作技能,能熟练进行编码工作,并掌握软件开发过程的规范; 具备一定的项目经验,包括代码的调试、文档编写和软件测试等内容; 相当于一年的软件开发经验。 2. 以实用技能为核心来组织教学 二八原则:遵循企业生产过程中的“二八原则”,即企业生产过程中80%的时间在使用20%的核心技术,强调核心教学,即学生在学校用80%的学习时间来掌握企业中所用到的核心技术,从而保证对企业常用技术的掌握。教材内容精而专,同时配以知识拓展和拓展练习,以满足不同层次的教学和学习需求。 3. 以新颖的教材架构来引导学习 自成体系:本系列教材采用的教材架构打破了传统的以知识为标准编写教材的方法,采用“全真案例”和“任务驱动”的组织模式。 理论篇:即最小教学集,包含了“二八原则”中提到的常用技术,以任务驱动引导知识点的学习,所选任务不但典型、实用,而且具有很强的趣味性和可操作性,引导学生循序渐进地理解和掌握这些知识和技能,培养学生的逻辑思维能力,掌握利用开发语言进行程序设计的必备知识和技巧。 实践篇:多点于一线,以完整的具体案例贯穿始终,力求使学生在动手实践的过程中,加深课程内容的理解,培养学生独立思考和解决问题的能力,并配备相关知识的拓展讲解和拓展练习,拓宽学生的知识面。 结构灵活:本系列教材在内容设置上借鉴了软件开发中“低耦合高内聚”的设计理念,组织架构上遵循软件开发中的MVC理念,即在课程的实施过程中各高校可根据自身的实际情况(课程配比、时间安排、学生水平、教学情况等),在保证最小教学集的前提下对整个课程体系进行横向(章节内容)和纵向(章节)的裁剪。 4. 提供全面的教辅产品来辅助教学实施 为充分体现“实境耦合”的教学模式,方便教学实施,我们另外还开发了可配套使用的项目实训教材和全套教辅产品,可供各院校选购: 项目篇:多线于一面,以辅助教材的形式,提供适应当前课程(及先行课程)的综合项目,遵循软件开发过程,进行讲解、分析、设计、指导,注重工作过程的系统性,培养学生解决实际问题的能力,是实施“实境”教学的关键环节。 立体配套:为适应教学模式和教学方法的改革,本系列教材提供完备的教辅产品,主要包括教学指导、实验指导、电子课件、习题集、实践案例等内容,并配以相应的网络教学资源。教学实施方面,提供全方位的解决方案(课程体系解决方案、实训解决方案、教师培训解决方案和就业指导解决方案等),以适应软件开发教学过程的特殊性。 本系列教材由青岛海尔软件有限公司和青岛东合信息技术有限公司共同研制,历时两年,参与编著的有张磊、丁春强、赵克玲、高峰、张幼鹏、张旭平、孙更新、宾晟、胡芳、侯天超、邵峰晶、于忠清、韩敬海、曹宝香、崔文善、王成端等。本书的特约策划人为吕蕾女士。参与本书编写工作的单位还有:青岛农业大学、潍坊学院、青岛大学、山东科技大学、曲阜师范大学、济宁学院、中国海洋大学、青岛科技大学、济宁医学院等高校,期间得到了各合作院校专家及一线教师的大力支持和协作。在此技术丛书出版之际要特别感谢给予我们开发团队大力支持和帮助的领导及同事,感谢合作院校的师生给予我们的支持和鼓励,更要感谢开发团队每一位成员所付出的艰辛劳动。如有意见及建议,请发邮件至iTeacher@haiersoft.com.cn。 iTeacher@ 教研组 2010年7月
目 录 理论篇 1 第1章 VB.NET概述 2 1.1 .NET框架 4 1.1.1 .NET框架结构 4 1.1.2 .NET框架的优点 5 1.1.3 .NET的术语 5 1.1.4 VB与.NET框架 6 1.1.5 .NET框架应用程序种类 7 1.2 第一个VB.NET程序 8 小结 10 练习 10 第2章 VB.NET语言基础 11 2.1 数据类型 13 2.2 变量和常量 13 2.2.1 变量 13 2.2.2 常量 14 2.3 运算符 14 2.3.1 算术运算符 14 2.3.2 比较运算符 15 2.3.3 逻辑运算符 16 2.3.4 串联运算符 17 2.4 流程控制语句 19 2.4.1 分支语句 19 2.4.2 循环语句 22 2.5 数组 25 2.5.1 声明数组 26 2.5.2 数组赋值 27 2.5.3 遍历数组 27 2.5.4 重设数组大小 28 2.5.5 二维数组 29 2.6 过程 29 2.6.1 过程介绍 29 2.6.2 Sub过程 30 2.6.3 Function过程 31 2.6.4 Property过程 32 2.7 参数 33 2.7.1 可选参数 33 2.7.2 参数数组 34 小结 35 练习 36 第3章 窗体和常用控件 38 3.1 控件概述 40 3.1.1 控件的基本属性 41 3.1.2 控件的基本事件 43 3.2 窗体 45 3.3 常用控件 50 3.3.1 Button控件 51 3.3.2 Label控件 51 3.3.3 文本控件 52 3.3.4 选择控件 55 3.3.5 PictureBox控件 63 3.3.6 容器控件 65 小结 68 练习 69 第4章 界面设计 71 4.1 界面设计概述 73 4.2 菜单 74 4.2.1 主菜单 74 4.2.2 上下文菜单 77 4.3 工具栏 79 4.4 状态栏 81 4.5 对话框 82 4.5.1 输入对话框 83 4.5.2 通用对话框 83 4.6 MDI界面设计 86 小结 88 练习 88 第5章 面向对象程序设计 90 5.1 VB.NET中的面向对象 92 5.2 类和对象 93 5.2.1 类 93 5.2.2 对象 97 5.3 继承 99 5.4 多态 101 5.4.1 重载 101 5.4.2 重写 102 5.4.3 隐藏 103 5.5 Me、MyBase和MyClass关键字 103 5.5.1 Me关键字 103 5.5.2 MyBase关键字 104 5.5.3 MyClass关键字 105 小结 106 练习 106 第6章 ADO.NET数据库访问 108 6.1 ADO.NET简介 110 6.2 ADO.NET结构 111 6.2.1 ADO.NET中的命名空间和类 111 6.2.2 ADO.NET结构原理 112 6.3 SQL Server 2005 113 6.4 ADO.NET的核心对象 118 6.4.1 Connection 118 6.4.2 Command 121 6.4.3 DataReader 122 6.4.4 DataAdapter和DataSet 125 小结 130 练习 131 第7章 数据绑定和操作 132 7.1 数据控件 134 7.1.1 DataGridView 134 7.1.2 配置DataGridView 136 7.2 数据操作 141 7.2.1 数据查询过滤 143 7.2.2 添加数据 144 7.2.3 修改数据 148 7.2.4 删除数据 149 小结 152 练习 152 第8章 文件处理 154 8.1 文件概述 156 8.1.1 文件类型 156 8.1.2 文件访问方式 156 8.2 System.IO模型 157 8.2.1 Directory 158 8.2.2 File 162 8.2.3 Path 165 8.3 文件流操作 168 8.3.1 FileStream 168 8.3.2 StreamReader和StreamWriter 169 8.3.3 BinaryReader类和BinaryWriter 173 8.4 My.Computer.FileSystem对象 175 小结 180 练习 180 第9章 多线程应用程序 182 9.1 线程概述 184 9.1.1 进程、线程和应用程序域 184 9.1.2 线程限制 185 9.1.3 VB.NET对多线程的支持 185 9.2 VB.NET中多线程的实现 185 9.2.1 线程的创建 185 9.2.2 线程的状态 188 9.2.3 线程的优先级 189 9.2.4 线程池 189 9.3 线程组件 190 9.3.1 BackgroundWorker组件 190 9.3.2 Timer组件 195 小结 197 练习 198 第10章 .NET 3.5新特性 200 10.1 推断类型 202 10.2 扩展方法 204 10.3 对象初始化器 206 10.4 匿名类 209 10.5 Lambda表达式 210 10.6 LINQ查询 211 10.6.1 LINQ简介 211 10.6.2 LINQ查询步骤 213 10.6.3 LINQ查询关键字 214 10.6.4 聚合函数 218 小结 220 练习 221 实践篇 223 实践1 VB.NET概述 224 实践指导 224 实践1.G.1 224 实践1.G.2 227 实践1.G.3 229 知识拓展 234 1. VB.NET程序代码的调试 234 2. 设置VB.NET代码编辑器格式 236 3. Visual Studio 2008快捷键 238 拓展练习 238 练习1.E.1 238 实践2 VB.NET语言基础 239 实践指导 239 实践2.G.1 239 实践2.G.2 240 实践2.G.3 242 知识拓展 243 1. 格式化数字 243 2. 格式化日期 245 拓展练习 248 练习2.E.1 248 练习2.E.2 248 实践3 窗体和常用控件 249 实践指导 249 实践3.G.1 250 实践3.G.2 252 实践3.G.3 254 知识拓展 255 1. RichTextBox控件 255 2. ErrorProvider控件 258 拓展练习 260 练习3.E.1 260 实践4 界面设计 261 实践指导 261 实践4.G.1 261 实践4.G.2 265 实践4.G.3 267 知识拓展 269 1. TreeView控件 269 2. ListView控件 273 拓展练习 276 练习4.E.1 276 实践5 面向对象程序设计 277 实践指导 277 实践5.G.1 277 实践5.G.2 280 实践5.G.3 283 实践5.G.4 286 知识拓展 287 1. 继承的用户控件 287 2. 用户控件 288 3. 自定义控件 290 拓展练习 297 练习5.E.1 297 练习5.E.2 298 练习5.E.3 298 实践6 ADO.NET数据库访问 299 实践指导 299 实践6.G.1 299 实践6.G.2 311 实践6.G.3 314 实践6.G.4 318 知识拓展 321 1. 连接Access数据库 321 2. 连接Oracle数据库 326 拓展练习 330 练习6.E.1 330 练习6.E.2 330 实践7 数据绑定和操作 331 实践指导 331 实践7.G.1 331 实践7.G.2 333 实践7.G.3 348 实践7.G.4 354 知识拓展 361 BindingNavigator控件 361 拓展练习 364 练习7.E.1 364 练习7.E.2 364 实践8 文件处理 365 实践指导 365 实践8.G.1 365 知识拓展 366 VB.NET的Run-time函数 366 拓展练习 369 练习8.E.1 369 练习8.E.2 369 实践9 .NET 3.5新特性 370 实践指导 370 实践9.G.1 370 实践9.G.2 376 知识拓展 380 LINQ to XML 380 拓展练习 383 练习9.E.1 383 练习9.E.2 383 附录A VB.NET中的关键字 384