本书内容深入全面,涵盖的主题十分丰富,并结合大量典型的代码示例来讲解Visual Basic.NET的核心编程技术。本书共分6大部分。首先介绍了Visual Basic.NET语言的基础知识,以及一些有关类的新特性,例如继承、委托和事件等。然后详细讲解了Visual Basic.NET面向对象的特性,并介绍了.NET对字符串、数字、日期/时间和文件I/O类的内在支持,以帮助您掌握这些最重要的API元素。之后,描述了新的Windows窗体、通过ADO.NET进行数据库编程和Win32技术支持等,并讲解了如何通过程序集来部署Visual Basic.NET应用程序。最后介绍了Internet应用程序的开发,包括Web窗体、ASP.NET应用程序和诸如缓存技术、配置等新特性,以及用于Web开发的基本技术。\r\n 本书在多处指出了Visual Basic.NET与Visual Basic 6之间的区别及其新特性,并介绍了在Microsoft.NET环境下导入和重用现有的Visual Basic代码的最佳方式。通过本书的学习,您可以全面掌握Visual Basic.NET编程技术。对于想转向Visual Basic.NET的Visual Basic 6开发人员,本书也是最佳选择。
前言\r\n\r\n第I部分 基础篇\r\n\r\n第1章 开始使用Visual Basic.NET\r\n\r\n1.1 为何需要.NET\r\n1.1.1 当今软件开发存在的问题\r\n1.1.2 Microsoft.NET的解决方案\r\n1.2 Microsoft.NET项目\r\n1.2.1 系统要求\r\n1.2.2 .NET体系结构\r\n1.2.3 .NET的编程语言\r\n1.2.4 Microsoft中间语言(MSIL)\r\n1.2.5 实时(JIT)编译器\r\n1.2.6 使用程序集\r\n1.2.7 .NET框架类库\r\n1.3 Visual Studio.NET简介\r\n1.3.1 旧式工具和新式工具\r\n1.3.2 新增的工具\r\n1.3.3 运行Visual Basic控制台应用程序\r\n\r\n第2章 模块和变量\r\n\r\n2.1 模块和命名空间\r\n2.1.1 模块\r\n2.1.2 类\r\n2.1.3 窗体\r\n2.1.4 命名空间\r\n2.2 变量\r\n2.2.1 声明\r\n2.2.2 数据类型\r\n2.2.3 初始值设定项\r\n2.2.4 赋值\r\n2.2.5 数组\r\n2.2.6 结构\r\n\r\n第3章 控制流和错误处理技术\r\n\r\n3.1 执行流的控制\r\n3.1.1 过程\r\n3.1.2 条件语句和循环语句\r\n3.1.3 Declare语句\r\n3.2 命令、函数和常量\r\n3.2.1 字符串常量\r\n3.2.2 字符串函数\r\n3.2.3 数学函数\r\n3.2.4 日期和时间函数\r\n3.2.5 交互命令和函数\r\n3.2.6 其他命令、函数和对象\r\n3.2.7 Environment类\r\n3.3 错误处理机制\r\n3.3.1 引发异常\r\n3.3.2 Exception对象\r\n3.3.3 Try…Catch…Finally语句\r\n3.3.4 Throw语句\r\n3.3.5 嵌套的异常对象\r\n3.3.6 性能提示\r\n3.4 调试.NET应用程序\r\n3.4.1 项目和解决方案的配置\r\n3.4.2 调试工具\r\n3.4.3 跟踪应用程序的行为\r\n\r\n第II部分 面向对象编程\r\n\r\n第4章 类的基础知识\r\n\r\n4.1 字段\r\n4.2 方法\r\n4.2.1 重载\r\n4.2.2 重载和强制转换\r\n4.2.3 产生歧义的情况\r\n4.3 属性\r\n4.3.1 只读属性和只写属性\r\n4.3.2 带参数的属性\r\n4.3.3 默认属性\r\n4.4 构造函数\r\n4.4.1 带参数的构造函数\r\n4.4.2 重载的构造函数\r\n4.4.3 构造函数和只读字段\r\n4.5 对象生存期\r\n4.5.1 COM和引用计数器\r\n4.5.2 垃圾回收\r\n4.5.3 Finalize方法\r\n4.5.4 Dispose方法\r\n4.5.5 对象复活\r\n4.5.6 世代\r\n4.5.7 垃圾回收和线程技术\r\n4.5.8 弱对象引用\r\n4.6 事件\r\n4.6.1 声明和引发事件\r\n4.6.2 使用WithEvents捕获事件\r\n4.6.3 使用AddHandler捕获事件\r\n4.6.4 Module事件\r\n4.6.5 捕获数组事件\r\n4.6.6 事件语法的准则\r\n4.7 共享成员\r\n4.7.1 共享字段\r\n4.7.2 共享方法\r\n4.7.3 共享构造函数\r\n4.7.4 共享事件\r\n\r\n第5章 继承\r\n\r\n5.1 Visual Basic以前版本中的继承\r\n5.1.1 委托继承\r\n5.1.2 继承和晚期绑定多态代码\r\n5.1.3 早期绑定多态代码\r\n5.2 Visual Basic.NET中的继承\r\n5.2.1 扩展派生类\r\n5.2.2 使用派生类\r\n5.2.3 继承事件\r\n5.2.4 继承共享成员\r\n5.2.5 多态行为\r\n5.3 重写基类中的成员\r\n5.3.1 重写变量\r\n5.3.2 MyBase关键字\r\n5.3.3 派生类中的构造函数\r\n5.3.4 派生类中的终结程序\r\n5.3.5 MyClass关键字\r\n5.3.6 成员隐藏\r\n5.3.7 重定义共享成员\r\n5.4 Sealed和Virtual类\r\n5.4.1 NotInheritable关键字\r\n5.4.2 MustInherit关键字\r\n5.4.3 MustOverride关键字\r\n5.5 作用域\r\n5.5.1 嵌套类\r\n5.5.2 Public、Private和Friend作用域限定符\r\n5.5.3 Protected作用域限定符\r\n5.5.4 Protected Friend作用域限定符\r\n5.5.5 使用带有构造函数的作用域限定符\r\n5.5.6 重定义事件\r\n\r\n第6章 接口和委托\r\n\r\n6.1 接口\r\n6.1.1 实现接口\r\n6.1.2 访问接口\r\n6.1.3 接口和继承\r\n6.2 使用.NET接口\r\n6.2.1 IComparable接口\r\n6.2.2 IComparer接口\r\n6.2.3 ICloneable接口\r\n6.2.4 IEnumerable和IEnumerator接口\r\n6.3 委托\r\n6.3.1 调用静态方法\r\n6.3.2 调用实例方法\r\n6.3.3 其他属性\r\n6.3.4 定义多态行为\r\n6.3.5 委托和Windows API回调\r\n6.3.6 执行回调过程\r\n6.3.7 多路广播委托\r\n\r\n第7章 特性\r\n\r\n7.1 特性语法\r\n7.2 Visual Basic.NET的特性\r\n7.2.1 StructLayout特性\r\n7.2.2 FieldOffset特性\r\n7.2.3 DllImport特性\r\n7.2.4 Conditional特性\r\n7.2.5 Obsolete特性\r\n7.2.6 DebuggerStepThrough特性\r\n7.3 自定义特性\r\n7.3.1 创建自定义特性类\r\n7.3.2 在运行时发现特性\r\n\r\n第III部分 .NET框架编程\r\n\r\n第8章 .NET框架基本类型\r\n\r\n8.1 System.Object类型\r\n8.1.1 公共方法与受保护方法\r\n8.1.2 再谈值类型和引用类型\r\n8.1.3 装箱和取消装箱\r\n8.2 String类型\r\n8.2.1 属性与方法\r\n8.2.2 字符串优化\r\n8.2.3 共享方法\r\n8.2.4 CultureInfo辅助类\r\n8.2.5 格式化数值\r\n8.2.6 设置日期的格式\r\n8.2.7 Iformattable接口\r\n8.2.8 IFormatProvider和ICustomFormatter接口\r\n8.3 Char类型\r\n8.4 StringBuilder类型\r\n8.5 数字类型\r\n8.5.1 属性和方法\r\n8.5.2 格式化数字\r\n8.5.3 将字符串解析为数字\r\n8.5.4 Convert类\r\n8.5.5 随机数字生成器\r\n8.6 DateTime类型\r\n8.6.1 日期值的加减\r\n8.6.2 格式化日期值\r\n8.6.3 分析日期\r\n8.6.4 处理时区\r\n8.7 Guid类型\r\n8.8 枚举值\r\n8.8.1 显示并分析枚举值\r\n8.8.2 Enum的其他方法\r\n8.6.3 位编码的值\r\n\r\n第9章 数组、列表和集合\r\n\r\n9.1 Array类\r\n9.1.1 创建基于非零的数组\r\n9.1.2 复制数组\r\n9.1.3 元素的排序\r\n9.1.4 数组元素的删除、复制与移动\r\n9.1.5 数值搜索\r\n9.1.6 数组的数组\r\n9.2 System.Collections命名空间\r\n9.2.1 ICollection、IList和IDictionary接口\r\n9.2.2 BitArray类\r\n9.2.3 Stack类\r\n9.2.4 Queue类\r\n9.2.5 ArrayList类\r\n9.2.6 Hashtable类\r\n9.2.7 SortedList类\r\n9.2.8 StringCollection类和StringDictionary类\r\n9.3 自定义Collection类和Dictionary类\r\n9.3.1 ReadOnlyCollectionBase抽象类\r\n9.3.2 CollectionBase抽象类\r\n9.3.3 DictionaryBase抽象类\r\n\r\n第10章 文件、目录和流\r\n\r\n10.1 Directory类和File类\r\n10.2 DirectoryInfo类和FileInfo类\r\n10.3 Path类\r\n10.4 Stream类\r\n10.4.1 流操作\r\n10.4.2 流式阅读器和流式编写器\r\n10.4.3 文本文件的读写\r\n10.4.4 二进制文件的读写\r\n10.4.5 内存流的读写\r\n10.4.6 在内存中读写字符串\r\n10.4.7 自定义的流式阅读器和流式编写器\r\n\r\n第11章 对象序列化\r\n\r\n11.1 基本的序列化\r\n11.1.1 二进制序列化\r\n11.1.2 SOAP序列化\r\n11.1.3 可序列化与非序列化属性\r\n11.1.4 对象图\r\n11.1.5 深表对象克隆\r\n11.2 自定义的序列化\r\n11.2.1 ISerializable接口\r\n11.2.2 自定义序列化示例\r\n11.2.3 StreamingContext结构\r\n11.2.4 IDeserializationCallback接口\r\n11.3 XML序列化\r\n11.3.1 XmlSerializer类\r\n11.3.2 序列化属性\r\n11.3.3 XmlSerializerNamespaces对象\r\n11.3.4 Deserialization事件\r\n11.3.5 重写行为\r\n11.3.6 使用XSD架构\r\n\r\n第12章 正则表达式\r\n\r\n12.1 正则表达式概述\r\n12.1.1 基础知识\r\n12.1.2 正则表达式的语言\r\n12.1.3 正则表达式选项\r\n12.2 正则表达式的类\r\n12.2.1 Regex类\r\n12.2.2 MatchCollection类和Match类\r\n12.2.3 Group类\r\n12.2.4 CaptureCollection类和Capture类\r\n12.3 运行中的正则表达式\r\n\r\n第13章 线程处理\r\n\r\n13.1 线程基础知识\r\n13.1.1 何时需要使用线程\r\n13.1.2 创建线程\r\n13.1.3 使用线程\r\n13.1.4 线程属性\r\n13.1.5 调试线程\r\n13.2 存储与共享数据\r\n13.2.1 局部变量、类变量和静态变量\r\n13.2.2 ThreadStatic属性\r\n13.2.3 线程本地存储\r\n13.2.4 向线程传递数据和从线程中读取数据\r\n13.2.5 使用包装类\r\n13.3 线程的同步\r\n13.3.1 SyncLock语句\r\n13.3.2 同步的对象\r\n13.3.3 Monitor类\r\n13.3.4 Interlocked类\r\n13.3.5 Mutex类\r\n13.3.6 ReaderWriterLock类\r\n13.3.7 ManualResetEvent和AutoResetEvent类\r\n13.4 ThreadPool类\r\n13.5 计时器\r\n13.5.1 System.Timers.Timer类\r\n13.5.2 System.Threading.Timer类\r\n13.6 异步操作\r\n13.6.1 异步委托\r\n13.6.2 异步的文件操作\r\n\r\n第14章 程序集和应用程序域\r\n\r\n14.1 模块\r\n14.1.1 标头\r\n14.1.2 元数据\r\n14.1.3 Microsoft中间语言(MSIL)\r\n14.2 程序集\r\n14.2.1 单文件程序集和多文件程序集\r\n14.2.2 清单\r\n14.2.3 专用程序集和共享程序集\r\n14.2.4 强名称\r\n14.2.5 局部签名与密钥容器\r\n14.3 绑定进程\r\n14.3.1 版本策略\r\n14.3.2 预先加载的程序集和GAC搜索\r\n14.3.3 基本代码提示\r\n14.3.4 探测\r\n14.3.5 程序集绑定日志查看器(FUSLOGVW)\r\n14.3.6 一个真实的示例\r\n14.4 配置文件\r\n14.4.1 运行库版本\r\n14.4.2 垃圾回收行为\r\n14.4.3 动态属性\r\n14.4.4 .NET框架配置工具\r\n14.5 命令行工具\r\n14.5.1 Visual Basic编译器(VBC)\r\n14.5.2 程序集链接器(AL)\r\n14.5.3 强名称实用程序(SN)\r\n14.5.4 全局程序集缓存实用程序(GACUTIL)\r\n14.5.5 MSIL反汇编程序(ILDASM)\r\n14.5.6 本机映像生成器(NGEN)\r\n14.6 程序集自定义特性\r\n14.7 AppDomain类\r\n14.7.1 属性、方法和事件\r\n14.7.2 创建应用程序域\r\n14.7.3 捕获未处理的异常\r\n14.7.4 LoaderOptimization特性\r\n\r\n第15章 反射\r\n\r\n15.1 使用程序集和模块\r\n15.1.1 Assembly类\r\n15.1.2 AssemblyName类\r\n15.1.3 Module类\r\n15.2 使用类型\r\n15.2.1 获得类型对象\r\n15.2.2 检索类型属性\r\n15.2.3 枚举成员\r\n15.2.4 检索成员信息\r\n15.2.5 枚举参数\r\n15.2.6 调用成员\r\n15.2.7 动态地创建对象\r\n15.2.8 安全问题\r\n15.3 反射示例\r\n15.3.1 命令行类型浏览器\r\n15.3.2 跟踪堆栈帧\r\n\r\n第IV部分 Win32应用程序\r\n\r\n第16章 Windows窗体应用程序\r\n\r\n16.1 窗体基础知识\r\n16.1.1 窗体设计器\r\n16.1.2 Windows窗体类层次结构\r\n16.1.3 窗体和控件的常见任务\r\n16.2 Form对象\r\n16.2.1 属性、方法和事件\r\n16.2.2 常见窗体任务\r\n16.2.3 菜单\r\n16.2.4 MDI窗体\r\n16.3 窗体继承机制\r\n16.3.1 窗体继承的优点\r\n16.3.2 窗体继承的示例\r\n16.3.3 捕获和重写事件\r\n16.4 高级窗体技术\r\n16.4.1 Windows子类派生技术\r\n16.4.2 透明效果\r\n16.4.3 本地化窗体\r\n16.4.4 动态控件属性\r\n16.5 其他有用的对象\r\n16.5.1 Clipboard对象\r\n16.5.2 Application对象\r\n16.5.3 Cursor对象\r\n16.5.4 SendKeys类\r\n16.5.5 Help类\r\n\r\n第17章 控件\r\n\r\n17.1 Windows窗体控件\r\n17.1.1 TextBox控件\r\n17.1.2 Label控件\r\n17.1.3 LinkLabel控件\r\n17.1.4 CheckBox、RadioBox和Button控件\r\n17.1.5 ListBox控件\r\n17.1.6 CheckedListBox控件\r\n17.1.7 ComboBox控件\r\n17.1.8 Provider控件\r\n17.1.9 Splitter控件\r\n17.1.10 通用对话框控件\r\n17.1.11 ImageList控件\r\n17.1.12 TreeView控件\r\n17.1.13 ListView控件\r\n17.1.14 其他控件\r\n17.2 数据绑定\r\n17.2.1 绑定一个对象数组\r\n17.2.2 ADO.NET数据绑定技术\r\n17.3 创建自定义控件\r\n17.3.1 从现有控件继承\r\n17.3.2 改进自定义控件\r\n17.3.3 创建复合控件\r\n17.3.4 从头开始创建控件\r\n17.3.5 高级话题\r\n17.4 在Internet Explorer中宿主自定义控件\r\n\r\n第18章 GDI+\r\n\r\n18.1 二维矢量图形\r\n18.1.1 Graphics对象\r\n18.1.2 线条、矩形、多边形、椭圆和弧\r\n18.1.3 基数样条和贝塞尔样条\r\n18.1.4 Pen对象\r\n18.1.5 路径\r\n18.1.6 填充形状\r\n18.1.7 Brush对象\r\n18.1.8 区域\r\n18.1.9 Alpha混合\r\n18.1.10 坐标变形\r\n18.2 图像处理\r\n18.2.1 加载和保存图像\r\n18.2.2 显示图像\r\n18.2.3 翻转、旋转和扭曲图像\r\n18.2.4 透明和半透明位图\r\n18.2.5 图标\r\n18.2.6 图元文件\r\n18.3 版式\r\n18.3.1 字体系列\r\n18.3.2 绘制文本\r\n18.3.3 文本对齐\r\n18.3.4 文本变体\r\n18.3.5 消除锯齿\r\n\r\n第19章 高级Win32技术\r\n\r\n19.1 Registry类和RegistryKey类\r\n19.2 FileSystemWatcher组件\r\n19.2.1 初始化FileSystemWatcher组件\r\n19.2.2 获得通知\r\n19.2.3 故障诊断\r\n19.3 Process组件\r\n19.3.1 运行和停止进程\r\n19.3.2 查询进程信息\r\n19.3.3 等待进程结束\r\n19.4 PerformanceCounter组件\r\n19.4.1 性能计数器简介\r\n19.4.2 读取性能计数器的值\r\n19.4.3 使用自定义性能计数器\r\n19.5 EventLog组件\r\n19.5.1 事件日志简介\r\n19.5.2 读取事件日志项\r\n19.5.3 写入事件日记项\r\n19.6 ServiceController组件\r\n19.6.1 列出已安装的服务\r\n19.6.2 查询ServiceController对象\r\n19.6.3 管理服务\r\n19.7 Windows服务应用程序\r\n19.7.1 Windows服务基础\r\n19.7.2 安装服务\r\n19.7.3 更多服务编程技巧\r\n19.7.4 调试Windows服务\r\n\r\n第V部分 数据库应用程序\r\n\r\n第20章 连接模式下的ADO.NET\r\n\r\n20.1 从ADO到ADO.NET\r\n20.1.1 ADO的局限性\r\n20.1.2 ADO.NET简介\r\n20.1.3 .NET数据提供程序\r\n20.1.4 ADO.NET对象模型\r\n20.2 Connection对象\r\n20.2.1 设置ConnectionString属性\r\n20.2.2 打开和关闭连接\r\n20.2.3 处理事务\r\n20.3 Command对象\r\n20.3.1 创建Command对象\r\n20.3.2 发出数据库命令\r\n20.3.3 读取数据\r\n20.3.4 处理参数和存储过程\r\n20.4 DataReade对象\r\n20.4.1 依次迭代每一行\r\n20.4.2 读取列的值\r\n20.4.3 使用特定的SQL Server类型\r\n204.4 读取多个结果集\r\n\r\n第21章 断开模式下的ADO.NET\r\n\r\n21.1 DataSet对象\r\n21.1.1 DataSet对象模型\r\n21.1.2 创建DataSet\r\n21.2 DataAdapter类\r\n21.2.1 DataAdapter简介\r\n21.2.2 从数据库读取数据\r\n21.2.3 更新数据库\r\n21.2.4 解决更新冲突\r\n21.2.5 高级技巧\r\n\r\n第22章 XML和ADO.NET\r\n\r\n22.1 读写XML文件\r\n22.1.1 XmlTextReader类\r\n22.1.2 XmlTextWriter类\r\n22.2 使用XML DOM\r\n22.2.1 XmlNode类\r\n22.2.2 XmlDocument类\r\n22.2.3 XslTransform类\r\n22.3 ADO.NET中的XML特性\r\n22.3.1 编写XML数据\r\n22.3.2 编写Schema和DiffGram\r\n22.3.3 读取XML数据和架构\r\n22.3.4 使用强类型DataSet\r\n\r\n第VI部分 Internet应用程序\r\n\r\n第23章 Web窗体和控件\r\n\r\n23.1 Web窗体的基本概念\r\n23.1.1 第一个Web窗体项目\r\n23.1.2 动态Web窗体\r\n23.2 Page类\r\n23.2.1 Page属性\r\n23.2.2 Page方法\r\n23.2.4 Page事件\r\n23.2.5 Page指令\r\n23.3 Web窗体控件\r\n23.3.1 HTML Server控件\r\n23.3.2 Web窗体控件\r\n23.3.3 验证控件\r\n23.3.4 列表控件\r\n23.3.5 其他控件\r\n23.3.6 用Web窗体控件进行数据绑定\r\n23.3.7 在Visual Studio.NET中进行文本格式化\r\n23.4 模板控件\r\n23.4.1 模板\r\n23.4.2 Repeater控件\r\n23.4.3 DataList控件\r\n23.4.4 DataGrid控件\r\n23.4.5 动态模板\r\n\r\n第24章 ASP.NET应用程序\r\n\r\n24.1 ASP.NET内部对象\r\n24.1.1 HttpRequest类\r\n24.1.2 HttpResponse类\r\n24.1.3 HttpServerUtility类\r\n24.1.4 HttpSessionState类\r\n24.1.5 HttpApplicationState类\r\n24.2 状态管理和缓存技术\r\n24.2.1 会话状态\r\n24.2.2 页面缓存技术\r\n24.2.3 Cache类\r\n24.2.4 静态变量\r\n24.3 Global.asax文件\r\n24.3.1 全局错误处理程序\r\n24.3.2 应用程序范围内的响应筛选器\r\n24.3.3 持久的会话变量\r\n24.4 跟踪机制\r\n24.4.1 Trace属性\r\n24.4.2 应用程序级的跟踪机制\r\n24.4.3 TraceContext类\r\n24.5 HTTP模块和处理程序\r\n24.5.1 HTTP模块\r\n24.5.2 HTTP处理程序\r\n24.6 ASP.NET安全机制\r\n24.6.1 基本概念\r\n24.6.2 ASP.NET的Windows身份验证\r\n24.6.3 窗体身份验证模式\r\n24.6.4 编程安全机制\r\n24.7 ASP.NET的配置文件\r\n24.7.1 配置文件基础\r\n24.7.2 ASP.NET的配置\r\n24.8 ASP.NET性能计数器\r\n\r\n第25章 用户控件和自定义控件\r\n\r\n25.1 用户控件\r\n25.1.1 创建您的第一个用户控件\r\n25.1.2 Visual Studio.NET中的用户控作\r\n25.1.3 分段缓存功能\r\n25.2 自定义控件\r\n25.2.1 创建您的第一个自定义控件\r\n25.2.2 改进自定义控件\r\n25.2.3 复合控件\r\n25.2.4 客户端脚本代码\r\n\r\n第26章 XML Web服务\r\n\r\n26.1 XML Web服务简介\r\n26.1.1 创建XML Web服务项目\r\n26.1.2 在浏览器内部测试XML Web服务\r\n26.1.3 创建XML Web服务客户程序\r\n26.1.4 XML Web服务协议\r\n26.1.5 不使用Visual Studio创建XML Web服务\r\n26.2 改进XML Web服务\r\n26.2.1 XML Web服务类\r\n26.2.2 WebMethod特性\r\n26.2.3 XML Web服务的代理类\r\n26.3 高级话题\r\n26.3.1 SOAP标头\r\n26.3.2 XML Web服务的安全性\r\n26.3.3 SOAP扩展