Visual Basic.NET是VisualBasic的最新版本,也是Microsoft的.NET战略中的主要组成部分。与以前的VB版本相比,VB.NET有了质的飞跃,变得更为灵活也更为强大。Microsoft在VB.NET中融入了许多新功能。其中非常重要的就是完全实现了面向对象的编程,并极大地增强了Web的设计功能。 本书主要介绍了.NETFramework和公共语言运行时(CLR)、应用继承从基类中派生类、利用Try...Catch结构处理错误、开发多线程应用程序、COM和.NET组件的互操作性,以及创建定制控件、使用ADO.NET和XML访问数据、构建Web应用程序,以及创建和使用Web服务等内容。 本书适用于有一定经验的VisualBasic开发人员。通过本书程序员可以深入理解VB.NET,并且利用VB.NET的强大功能构建实用的应用程序。
\r\n
第1章 需要Microsoft.NET的原因\r\n\r\n1.1 我们现在使用的工具有什么问题\r\n1.1.1 DNA编程模式\r\n1.1.2 COM的限制\r\n1.1.3 VB6用于DNA应用程序开发的局限\r\n1.1.4 基于DNA的Internet开发的其他局限\r\n1.1.5 Windows API的缺点--需要抽象操作系统\r\n1.2 解决方案--Microsoft.NET\r\n1.3 Microsoft.NET的结构\r\n1.3.1 基础--公共语言运行时\r\n1.3.2 下一层--.NET Class Framework\r\n1.3.3 用户界面和程序接口\r\n1.3.4 XML作为.NET的“元语言”\r\n1.4 Microsoft.NET如何达到它的目标\r\n1.4.1 简化软件开发\r\n1.4.2 高度分布的系统\r\n1.4.3 Web上的更好用户界面\r\n1.4.4 简化部署\r\n1.4.5 对各种语言的支持\r\n1.4.6 平台的可扩展性\r\n1.4.7 未来的可移植性\r\n1.5 COM的角色\r\n1.6 DNA的角色\r\n1.7 其他优点\r\n1.8 对Visual Basic的影响\r\n1.9 避免混淆--.NET企业服务器的角色\r\n1.10 小结\r\n\r\n第2章 VB.NET中的新特性概述\r\n\r\n2.1 新的IDE特性\r\n2.1.1 工具箱\r\n2.1.2 Solution Explorer\r\n2.1.3 类视图\r\n2.1.4 属性窗口\r\n2.1.5 代码窗口\r\n2.2 数据类型的变化\r\n2.2.1 布尔类型\r\n2.2.2 整型\r\n2.2.3 字符串\r\n2.2.4 变量\r\n2.3 应用程序类型\r\n2.3.1 Windows应用程序\r\n2.3.2 Web应用程序\r\n2.3.3 Web服务\r\n2.4 新对象能力\r\n2.5 结构化错误处理\r\n2.6 语法的不兼容性\r\n2.6.1 属性\r\n2.6.2 用户定义的类型\r\n2.6.3 作用域\r\n2.6.4 ByVal\r\n2.6.5 GoSub和Return\r\n2.7 其他变化\r\n2.7.1 圆括号和子例程\r\n2.7.2 没有Set\r\n2.7.3 Return\r\n2.7.4 DefType\r\n2.8 小结\r\n\r\n第3章 VB.NET程序的初步讨论\r\n\r\n3.1 创建范例应用程序\r\n3.1.1 New Project对话框\r\n3.1.2 Solution Explorer\r\n3.1.3 Properties窗口\r\n3.2 HelloWorld范例分析\r\n3.2.1 选项卡与MDI界面\r\n3.2.2 作为类的窗体\r\n3.2.3 代码区域\r\n3.3 AssemblyInfo.vb文件\r\n3.3.1 名称空间和Imports关键字\r\n3.3.2 装配件属性标志\r\n3.4 增强范例应用程序\r\n3.4.1 访问工具框\r\n3.4.2 添加控件\r\n3.4.3 添加事件处理程序\r\n3.4.4 代码清单\r\n3.5 进入Hello World范例\r\n3.5.1 建立配置\r\n3.5.2 建立我们的应用程序\r\n3.5.3 运行应用程序\r\n3.6 小结\r\n\r\n第4章 Visual Studio.NET集成开发环境\r\n\r\n4.1 Visual Studio.NET的IDE\r\n4.2 解决方案与工程\r\n4.3 Visual Studio.NET IDE的概述\r\n4.3.1 配置文件\r\n4.3.2 选择Help选项\r\n4.3.3 Start Page\r\n4.3.4 存放新闻和信息的位置\r\n4.3.5 选项卡式窗口\r\n4.3.6 非停靠窗口\r\n4.3.7 AutoHide\r\n4.3.8 Server Explorer\r\n4.3.9 完成其他工程类型时的差异\r\n4.4 Visual Studio.NET中的工具栏\r\n4.5 Visual Studio.NET中的菜单结构\r\n4.5.1 File菜单\r\n4.5.2 Edit菜单\r\n4.5.3 View菜单\r\n4.5.4 Project菜单\r\n4.5.5 Build菜单\r\n4.5.6 Debug菜单\r\n4.5.7 Tools菜单\r\n4.5.8 Window菜单\r\n4.5.9 Help菜单\r\n4.5.10 与VB6相比的其他变化\r\n4.6 Visual Studio中的宏\r\n4.7 新型开发工具\r\n4.8 XML、XSD Schemas和XSLT文件的可视化编辑器\r\n4.9 跨工程和进程的调试\r\n4.10 扩展的IntelliSense\r\n4.11 小结\r\n\r\n第5章 公共语言运行时\r\n\r\n5.1 .NET应用程序的概述\r\n5.1.1 装配件\r\n5.1.2 模块\r\n5.1.3 类型\r\n5.2 版本转换和部署\r\n5.2.1 对于版本的更好支持\r\n5.2.2 更好的部署\r\n5.3 内存管理\r\n5.3.1 更好的无用单元收集功能\r\n5.3.2 对象的更快的内存分配\r\n5.3.3 GC优化\r\n5.4 跨语言的集成\r\n5.4.1 公共类型系统\r\n5.4.2 引用和值类型\r\n5.4.3 自定义类型\r\n5.4.4 值类型的装箱和拆箱\r\n5.5 元数据\r\n5.5.1 对元数据的更好支持\r\n5.5.2 属性标志\r\n5.5.3 Reflection API\r\n5.6 IL Disassembler\r\n5.7 小结\r\n\r\n第6章 变量和类型\r\n\r\n6.1 值类型(结构)\r\n6.1.1 布尔型\r\n6.1.2 整型\r\n6.1.3 小数\r\n6.1.4 Char和Byte\r\n6.1.5 DaatTime\r\n6.2 原始类型\r\n6.3 引用类型(类)\r\n6.3.1 对象的概述\r\n6.3.2 对象\r\n6.3.3 字符串\r\n6.3.4 DBNull\r\n6.3.5 数组\r\n6.3.6 Collections\r\n6.4 显式选项和严格选项\r\n6.4.1 显式转换\r\n6.5 参数传递\r\n6.6 装箱\r\n6.7 撤销的关键字和函数\r\n6.8 小结\r\n\r\n第7章 名称空间\r\n\r\n7.1 名称空间的定义\r\n7.1.1 名称空间Namespace_Sampler和引用\r\n7.1.2 通用的名称空间\r\n7.2 导入名称空间并为其命名别名\r\n7.2.1 导入名称空间\r\n7.2.2 为名称空间命名别名\r\n7.3 创建名称空间\r\n7.4 小结\r\n\r\n第8章 Windows Forms\r\n\r\n8.1 System.Windows.Forms名称空间\r\n8.2 窗体是类\r\n8.3 设计窗体\r\n8.3.1 非用户界面控件不在窗体中出现\r\n8.3.2 设计时间网格\r\n8.3.3 设置启动窗体\r\n8.3.4 窗体边框\r\n8.3.5 总在最上面\r\n8.3.6 启动位置\r\n8.3.7 窗体的不透明性(透明性)\r\n8.3.8 可视化继承\r\n8.3.9 MDI Forms\r\n8.3.10 窗体尺寸限制的设置\r\n8.3.11 滚动窗体\r\n8.4 运行时的窗体\r\n8.5 控件\r\n8.5.1 所有控件的普遍设计特征\r\n8.5.2 数据输入确认和错误提供器\r\n8.5.3 菜单\r\n8.5.4 工具栏\r\n8.5.5 DataGrid\r\n8.5.6 公共对话框\r\n8.5.7 拖和放\r\n8.5.8 标准Windows.Forms控件的总结\r\n8.5.9 撤销控件\r\n8.5.10 使用ActiveX控件\r\n8.5.11 其他方便的编程技巧\r\n8.6 小结\r\n\r\n第9章 错误处理\r\n\r\n9.1 CLR异常处理\r\n9.2 标准化错误处理\r\n9.3 On Error语句\r\n9.4 异常处理程序\r\n9.4.1 Try…Catch…Finally\r\n9.4.2 异常的属性和方法\r\n9.4.3 受管理和不受管理代码之间的错误处理\r\n9.5 错误记录\r\n9.5.1 事件日志\r\n9.5.2 写入追踪文件\r\n9.6 调试与测定性能\r\n9.7 小结\r\n\r\n第10章 创建Windows控件\r\n\r\n10.1 控件的源\r\n10.1.1 内置控件\r\n10.1.2 现有ActiveX控件\r\n10.1.3 第三方控件\r\n10.1.4 自定义控件\r\n10.2 在.NET中开发自定义控件的3种方法\r\n10.2.1 从另一个控件继承\r\n10.2.2 建立复合控件\r\n10.2.3 根据Control类从头编写控件\r\n10.3 控件创建的基类\r\n10.3.1 控件类\r\n10.3.2 UserControl类\r\n10.4 从其他控件继承\r\n10.4.1 进程的概述\r\n10.4.2 例子1-一个仅能输入数值的文本框\r\n10.4.3 在自定义控件中改变逻辑处理\r\n10.4.4 调试自定义控件\r\n10.4.5 为自定义控件增加额外的逻辑处理\r\n10.4.6 为自定义控件创建属性\r\n10.4.7 为继承控件定义自定义事件\r\n10.4.8 例子2-限制选择项数量的复选列表框\r\n10.5 复合UserControl\r\n10.5.1 复合UserControl的例子\r\n10.5.2 如何进行调整大小工作\r\n10.5.3 为控件设置最小尺寸\r\n10.5.4 显示于控件的属性\r\n10.5.5 逐步完成例子\r\n10.6 从头建立控件\r\n10.6.1 用GDI十显示自定义控件\r\n10.6.2 该控件的完整实现\r\n10.7 小结\r\n\r\n第11章 对象语法概述\r\n\r\n11.1 面向对象的术语\r\n11.1.1 对象、类和实例\r\n11.1.2 对象的组成\r\n11.2 使用对象\r\n11.2.1 对象声明和对象实例\r\n11.2.2 对象引用\r\n11.2.3 间接引用对象\r\n11.2.4 前期及后期绑定\r\n11.3 创建类\r\n11.4 构造函数方法\r\n11.5 高级概念\r\n11.5.1 高级方法\r\n11.5.2 类和组件\r\n11.6 .NET属性\r\n11.7 小结\r\n\r\n第12章 继承和接口\r\n\r\n12.1 继承\r\n12.2 多接口\r\n12.2.1 对象接口\r\n12.2.2 辅助接口\r\n12.3 小结\r\n\r\n第13章 对象和组件的应用\r\n\r\n13.1 抽象性\r\n13.2 封装性\r\n13.3 多态性\r\n13.3.1 方法签名\r\n13.3.2 实现多态性\r\n13.4 继承\r\n13.4.1 何时使用继承\r\n13.4.2 继承和多接口\r\n13.4.3 进一步探讨\r\n13.4.4 容易被破坏的某类问题\r\n13.5 小结\r\n\r\n第14章 装配件\r\n\r\n14.1 清单\r\n14.1.1 标识部分\r\n14.1.2 被引用的装配件\r\n14.2 装配件和部署\r\n14.2.1 应用程序私有装配件\r\n14.2.2 共享装配件\r\n14.3 版本问题\r\n14.3.1 应用程序隔离\r\n14.3.2 并行执行\r\n14.3.3 自描述\r\n14.3.4 版本策略\r\n14.3.5 配置文件\r\n14.4 小结\r\n\r\n第15章 线程\r\n\r\n15.1 线程的含义\r\n15.1.1 进程与线程\r\n15.1.2 何时使用线程\r\n15.2 线程范例\r\n15.2.1 创建ThreadWorker\r\n15.2.2 调用SpinUp\r\n15.3 同步\r\n15.3.1 中断、等待状态和传送信号\r\n15.3.2 同步的过程\r\n15.3.3 死锁\r\n15.4 线程池\r\n15.4.1 Worker对象\r\n15.4.2 创建Worker对象\r\n15.5 使用线程地改进ManualResetEvent.WaitOne\r\n15.6 小结\r\n\r\n第16章 使用传统的COM和接口\r\n\r\n16.1 COM简介\r\n16.2 现在所使用的COM和.NET\r\n16.2.1 传统组件\r\n16.2.2 .NET应用程序\r\n16.2.3 调试\r\n16.2.4 直接使用TlbImp\r\n16.2.5 后期绑定\r\n16.3 ActiveX控件\r\n16.3.1 传统ActiveX控件\r\n16.3.2 另一个.NET应用程序\r\n16.3.3 再次调试\r\n16.4 在COM中使用.NET组件\r\n16.4.1 .NET组件\r\n16.4.2 RegAsm\r\n16.4.3 TlbExp\r\n16.5 小结\r\n\r\n第17章 组件服务\r\n\r\n17.1 事务处理\r\n17.2 事务处理组件\r\n17.3 事务处理的其他方面\r\n17.3.1 人工事务处理\r\n17.3.2 Just In Time\r\n17.3.3 对象池\r\n17.3.4 其他情况\r\n17.4 排队组件\r\n17.4.1 排队组件的范例\r\n17.4.2 使用排队组件进行事务处理\r\n17.5 小结\r\n\r\n第18章 用ADO.NET访问数据\r\n\r\n18.1 ADO.NET体系结构\r\n18.1.1 ADO.NET组件\r\n18.1.2 ADO和ADO.NET之间的区别\r\n18.2 .NET数据提供者\r\n18.2.1 Connection对象\r\n18.2.2 Command对象\r\n18.2.3 DataDeader对象\r\n18.2.4 DataAdapter对象\r\n18.2.5 SQL Server.NET数据提供者\r\n18.2.6 OLE DB.NET数据提供者\r\n18.3 Dataset组件\r\n18.3.1 DataTableCollection\r\n18.3.2 DataRelationCollection\r\n18.3.3 ExtendedProperties\r\n18.3.4 创建和使用DataSet对象\r\n18.3.5 强类型化的DataSet对象\r\n18.3.6 DataSet对象和XML\r\n18.3.7 ADO.NET DataTable对象\r\n18.4 ADO.NET中的连接地\r\n18.5 创建Data Access组件\r\n18.5.1 构造函数\r\n18.5.2 属性\r\n18.5.3 存储过程XML结构\r\n18.5.4 方法\r\n18.6 使用DataSet对象绑定DataGrids\r\n18.7 小结\r\n\r\n第19章 在VB.NET中使用XML\r\n\r\n19.1 XML简介\r\n19.2 XML串行化\r\n19.3 System.Xml文档支持\r\n19.4 XML流类型分析程序\r\n19.4.1 写入XML流\r\n19.4.2 读取XML流\r\n19.4.3 Document Object Model(DOM)\r\n19.5 XSLT转换\r\n19.5.1 XML标准之间的XSLT转换\r\n19.5.2 其他的System.Xml.Xsl类和接口\r\n19.6 ADO.NET\r\n19.7 小结\r\n\r\n第20章 Web Forms\r\n\r\n20.1 Web Form的应用\r\n20.1.1 设置环境\r\n20.1.2 HelloWorld Web Form\r\n20.2 剖析Web Form\r\n20.2.1 模板的表示\r\n20.2.2 代码部分\r\n20.3 一个更复杂的范例\r\n20.4 ASP.NET Web Forms的处理过程\r\n20.5 在Web Forms中的可用控件\r\n20.5.1 服务器端控件的概念\r\n20.5.2 HTML Server控件\r\n20.5.3 ASP.NET Server控件\r\n20.5.4 Validation控件\r\n20.5.5 User控件\r\n20.6 Web Forms中的事件\r\n20.6.1 Web Form的生存期\r\n20.6.2 事件类别\r\n20.7 Web Forms与ASP\r\n20.8 在Web Forms中传送控件\r\n20.9 最后一个范例\r\n20.10 小结\r\n\r\n第21章 创建Web控件\r\n\r\n21.1 创建自己的控件的原因\r\n21.2 何时创建自己的控件\r\n21.3 定制Web控件的类型\r\n21.3.1 Web用户控件\r\n21.3.2 子类控件\r\n21.3.3 复合控件\r\n21.3.4 模板控件\r\n21.4 何时使用定制Web控件\r\n21.5 创建一个Web用户控件\r\n21.5.1 把一个Web用户控件项目添加到工程中\r\n21.5.2 将原来的代码修改用于Web用户控件中\r\n21.5.3 @ Control指令\r\n21.5.4 Web用户控件和@Register指令\r\n21.5.5 剖析Web用户控件\r\n21.5.6 扩展Web用户控件\r\n21.5.7 其他的Web控件功能\r\n21.6 创建一个子类控件\r\n21.6.1 创建一个试验台工程\r\n21.6.2 子类控件和Web定制控件模板\r\n21.6.3 Render方法\r\n21.6.4 在System.Web.UI.WebControl中开发子类控件(范例)\r\n21.7 小结\r\n\r\n第22章 VB.NET中的Web服务\r\n\r\n22.1 Web服务简介\r\n22.2 早期的体系结构设计\r\n22.2.1 网络角度\r\n22.2.2 应用程序的发展\r\n22.2.3 使用Web合并Internet和应用程序\r\n22.2.4 Web服务基础\r\n22.2.5 问题\r\n22.2.6 其他参与者\r\n22.2.7 Web服务的基础所忽略的问题\r\n22.3 Web服务范例\r\n22.4 VB.NET和System.Web.Services\r\n22.4.1 System.Web.Services名称空间\r\n22.4.2 System.Web.Services.Description名称空间\r\n22.4.3 System.Web.Services.Discovery名称空间\r\n22.4.4 System.Web.Services.Protocols名称空间\r\n22.5 利用Web服务进行设计\r\n22.5.1 Web服务的作用\r\n22.5.2 Web服务与其他协议和工具的组合\r\n22.5.3 Web服务代理\r\n22.5.4 状态的危害\r\n22.5.5 把DNS用作模型\r\n22.6 Web服务中的安全性\r\n22.6.1 加密套接字层\r\n22.6.2 目录级安全性\r\n22.6.3 同时使用SSL和目录级安全性\r\n22.6.4 安全性的其他类型\r\n22.7 分布式体系结构的缺点\r\n22.7.1 安全性方面的缺点\r\n22.7.2 状态方面的缺点\r\n22.7.3 事务处理方面的缺点\r\n22.7.4 速度和连接性方面的缺点\r\n22.8 Web服务的发展前景\r\n22.9 小结\r\n\r\n第23章 Windows服务\r\n\r\n23.1 Windows服务范例\r\n23.2 创建Windows服务\r\n23.2.1 Windows服务工程\r\n23.2.2 使用电子邮件编写事件\r\n23.2.3 创建文件监视程序\r\n23.2.4 创建远程服务\r\n23.3 安装服务\r\n23.3.1 方法1--使用鼠标\r\n23.3.2 方法2--编写代码\r\n23.3.3 InstallUtil.exe实用程序\r\n23.4 运行服务\r\n23.5 调试服务\r\n23.6 小结\r\n\r\n第24章 在.NET中的部署\r\n\r\n24.1 应用程序部署\r\n24.1.1 DLL Hell\r\n24.1.2 XCOPY部署\r\n24.1.3 .NET以前的部署选项\r\n24.2 在Visual Studio.NET中的应用程序部署\r\n24.3 Visual Studio.NET部署工程\r\n24.3.1 工程模板\r\n24.3.2 创建一个部署工程\r\n24.3.3 创建部署工程的两个范例\r\n24.4 修改部署工程\r\n24.4.1 工程属性\r\n24.4.2 File System编辑器\r\n24.4.3 Registry编辑器\r\n24.4.4 File Types编辑器\r\n24.4.5 User Interface编辑器\r\n24.4.6 Custom Actions编辑器\r\n24.4.7 Launch Conditions编辑器\r\n24.5 构建\r\n24.6 小结\r\n\r\n第25章 .NET Framework的安全性\r\n\r\n25.1 安全性的概念与定义\r\n25.2 System.Security.Permissions名称空间中的权限\r\n25.2.1 代码访问权限\r\n25.2.2 基于角色的权限\r\n25.2.3 身份权限\r\n25.3 管理代码访问权限\r\n25.4 管理安全性策略\r\n25.5 .NET下的密码术\r\n25.6 小结\r\n\r\n附录A 使用Visual Basic兼容库\r\n\r\nA.1 什么是兼容库\r\nA.1.1 转换工具使用库的时候\r\nA.1.2 在工程中使用库的时候\r\nA.1.3 引用兼容库\r\nA.2 关于兼容库的范例\r\nA.3 兼容库引用列表\r\nA.3.1 语法声明的改变\r\nA.3.2 元素替换为方法\r\nA.3.3 数据类型的改变\r\nA.3.4 布尔运算符的改变\r\nA.3.5 类和接口的改变