WPF内存、资源释放问题

yyj87629 2012-02-19 09:14:03
在搜wpf相关资料时看到说wpf程序很耗内存,现在想优化下自己的程序。

搜了下内存、资源释放的资料,什么GC啊、Dispose啊、托管资源啊、非托管资源啊都是这些,但看不懂。

我想问下怎样可以简单优化自己的程序呢??

例如定义了一个string s = "abc";是不是用完后,s = null;这样就会释放s的资源?

window.Close()后,是不是该窗体的资源就释放了?不是的话要怎么释放??
...全文
932 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
kingson8811 2013-04-02
  • 打赏
  • 举报
回复
引用 2 楼 sp1234 的回复:
我可以告诉你两三天经验,但是我恐怕你一时半刻也只是当作随便一说。 通常需要打印程序进入各种方法的日志,然后看看假设在一整“疯狂”操作之后,操作几乎静止下来后,程序会不会还在无休止地运行着什么,甚至产生了循环。好的情况是从日志可以看到程序处理几乎停下来了。 通常要在自动化测试中写一条语句去判断某些处理(异步回调、事件处理)是否意外地“重新进入”了。这往往说明某些……
我程序也是内存一下几白M了。看了你这个以后实验了一下。还真是你说的原因。+=的事件会无效循环。我不是注销。而是只在程序一个地方生成事件。这样资源释放了。 你给了我很大启发。为了后来人看懂。我贴点代码吧 我的f里面自定义了一个事件。然后再其他地方生成的时候控件的事件+=。但是我的TreeView一刷新。我吧TreeView的ITEM CLEAR掉。然后重新加TreeViewItem对象(通过GetreeView方法)。这样当TreeView刷新几次以后。内存就上到几白M了。我看了楼上那个提示以后才发现是因为程序在GetreeView里面 += 注册事件 这个里面 无限循环出来事件。 private TreeViewItem GetreeView(obj f) { f.UserStatuChange+= 注册事件 } 最后解决方法: 程序启动的时候 f.UserStatuChange+= 注册事件。 然后再GetreeView这个方法里面去掉 上面这代代码。 这样程序只有在一个地方注册了 f.UserStatuChange+=事件。 事件不会无限循环。
微恒软件 2012-06-20
  • 打赏
  • 举报
回复
呵呵,看到一个个说了一大堆,都没有解决问题,其实我也经常遇到此类问题。都说。net自动回收。但是靠自动回收有时真的不行。所以代码写的好不好,必须考虑性能,多线程等,我的此类问题也没解决。
夜色镇歌 2012-02-20
  • 打赏
  • 举报
回复
LZ 你用C#写的话 就不用管内存的释放神马的~ 因为有CLR 有托管堆~
夜色镇歌 2012-02-20
  • 打赏
  • 举报
回复
学习了。。。[Quote=引用 2 楼 sp1234 的回复:]

我可以告诉你两三天经验,但是我恐怕你一时半刻也只是当作随便一说。

通常需要打印程序进入各种方法的日志,然后看看假设在一整“疯狂”操作之后,操作几乎静止下来后,程序会不会还在无休止地运行着什么,甚至产生了循环。好的情况是从日志可以看到程序处理几乎停下来了。

通常要在自动化测试中写一条语句去判断某些处理(异步回调、事件处理)是否意外地“重新进入”了。这往往说明某些事件注册到更大的、生命周……
[/Quote]
yyj87629 2012-02-19
  • 打赏
  • 举报
回复
谢谢楼上的,我是要做一个产品,所以希望自己的程序可以做得更好点。

你说什么都不用做?但网上说有人做了一个小程序,过了一段时间后,内存被占用了几百Mb,这样正常?

有什么好的wpf程序优化方面的资料?或者我要去看什么书??或者要做些什么?

麻烦高手指导下,先谢谢大家了!!
  • 打赏
  • 举报
回复
两三天 --> 两三条


如果你只是做一般入门书上作为范例的那种编程也就算了。

如果是成熟的产品,那么使用wpf/silverlight这种平台编程其实比winform要复杂多了。因为只有大量异步并发多线程编程才能让程序变得流程,然后这就为调试带来的巨大挑战。没有测试驱动的习惯,没有自己做一套自动化测试系统,靠书上那点理论,你很快就会在调试巨多多线程程序代码面前失去耐心的。
  • 打赏
  • 举报
回复
我可以告诉你两三天经验,但是我恐怕你一时半刻也只是当作随便一说。

通常需要打印程序进入各种方法的日志,然后看看假设在一整“疯狂”操作之后,操作几乎静止下来后,程序会不会还在无休止地运行着什么,甚至产生了循环。好的情况是从日志可以看到程序处理几乎停下来了。

通常要在自动化测试中写一条语句去判断某些处理(异步回调、事件处理)是否意外地“重新进入”了。这往往说明某些事件注册到更大的、生命周期很长的对象上,从而当程序已经移除了某些组件之后,这些组件其实无法真正被GC回收。这就是所谓的“实践溢出”问题。实际上既然使用 += 来注册事件,那么就应该使用 -= 来注销事件处理。不注销,就会使得成千上万(甚至几十万上百万)的组件无法真正销毁。
  • 打赏
  • 举报
回复
你什么都不用写,几秒钟之后就自动被GC释放了。而且这个时间点是经过.net设计师亲自测试优化过的。
[14本经典Android开发教程] 8 Linux内核阅读心得体会 读核感悟 2 读核感悟 Linux内核启动 内核的生成 2 读核感悟 Linux内核启动 从hello world说起 3 读核感悟 Linux内核启动 BIOS 5 读核感悟 Linux内核启动 setup辅助程序 6 读核感悟 Linux内核启动 内核解压缩 8 读核感悟 Linux内核启动 开启页面映射 9 读核感悟 Linux内核启动 链接脚本 11 读核感悟 伪装现场 系统调用参数 13 读核感悟 伪装现场 fork 系统调用 15 读核感悟 伪装现场 内核线程: 17 读核感悟 伪装现场 信号通信 19 读核感悟 kbuild系统 内核模块的编译 22 读核感悟 kbuild系统 编译到内核和编译成模块的区别 24 读核感悟 kbuild系统 make bzImage的过程 26 读核感悟 kbuild系统 make menuconfig 31 读核感悟 文件系统 用C来实现面向对象 32 读核感悟 设计模式 用C来实现虚函数表和多态 32 读核感悟 设计模式 用C来实现继承和模板 33 读核感悟 设计模式 文件系统和设备的继承和接口 34 读核感悟 设计模式 文件系统与抽象工厂 36 读核感悟 阅读源代码技巧 查找定义 37 读核感悟 阅读源代码技巧 变量命名规则 42 读核感悟 内存管理 内核中的页表映射总结 43 读核感悟 健壮的代码 exception table 内核中的刑事档案 44 读核感悟 定时器 巧妙的定时器算法 45 读核感悟 内存管理 page fault处理流程 45 读核感悟 文件读写 select实现原理 47 读核感悟 文件读写 poll的实现原理 49 1 功能介绍: 49 2 关键的结构体: 49 3 poll的实现 49 4 性能分析: 50 读核感悟 文件读写 epoll的实现原理 50 1 功能介绍 50 2 关键结构体: 51 3 epoll create的实现 53 4 epoll ctl的实现 53 5 epoll wait的实现 54 6 性能分析 54 读核感悟 同步问题 同步问题概述 55 1 同步问题的产生背景 55 2 内核态与用户态的区别 55 读核感悟 同步问题 内核态自旋锁的实现 56 1自旋锁的总述 56 2非抢占式的自旋锁 56 3 锁的释放 57 4 与用户态的自旋锁的比较 57 5 总结 58 读核感悟 内存管理 free命令详解 58 读核感悟 文件读写 2 6 9内核中的AIO 59 1 AIO概述 59 2 内核态AIO的使用 61 读核感悟 文件读写 内核态AIO相关结构体 61 1 内核态AIO操作相关信息 61 2 AIO上下文: 63 3 AIO ring 63 4 异步I O事件的返回信息 64 读核感悟 文件读写 内核态AIO创建和提交操作 65 1 AIO上下文的创建 io setup 65 2 AIO请求的提交:io submit实现机制 66 读核感悟 文件操作 AIO操作的执行 66 1 在提交时执行AIO 66 2 在工作队列中执行AIO 66 3 负责AIO执行的核心函数aio run iocb 67 4 AIO操作的完成 67 读核感悟 文件读写 内核态是否支持非direct I O方式的AIO 67 已上传7本: [14本经典Android开发教程] 1 Android开发从入门到精通 http: download csdn net detail cleopard 8355245 [14本经典Android开发教程] 2 Android开发手册 API函数详解 http: download csdn net detail cleopard 8374487 [14本经典Android开发教程] 3 Android SDK 中文开发文档 http: download csdn net detail cleopard 8380429 [14本经典Android开发教程] 4 Android应用程序开发36技 http: download csdn net detail cleopard 8380495 [14本经典Android开发教程] 5 linux Android基础知识总结 http: download csdn net detail cleopard 8380529 [14本经典Android开发教程] 6 Android驱动开发入门及手机案例开发分析教程 http: download csdn net detail cleopard 8388019 [14本经典Android开发教程] 7 Android编程入门教程 http: download csdn net detail cleopard 8388043 剩余8本稍后上传 @或直接从这里寻找@ http: download csdn net user cleopard album @更多@ http: cleopard download csdn net 福利 http: xuemeilaile com 17份软件测试文档 http: download csdn net album detail 1425 13份WPF经典开发教程 http: download csdn net album detail 1115 C#资料合辑二[C#桌面编程入门篇] http: download csdn net album detail 957 C#资料合辑一[C#入门篇] http: download csdn net album detail 669 [Csharp高级编程 第6版 ] 共8压缩卷 http: download csdn net album detail 667 10个[精品资源]Java学习资料合辑[一] http: download csdn net album detail 663 10个C#Socket编程代码示例 http: download csdn net album detail 631 6份GDI+程序设计资源整合[全零分] http: download csdn net album detail 625 2014年移动游戏行业数据分析 http: download csdn net detail cleopard 8340331 一文读懂2014年全球互联网广告新生态 http: download csdn net detail cleopard 8340303">[14本经典Android开发教程] 8 Linux内核阅读心得体会 读核感悟 2 读核感悟 Linux内核启动 内核的生成 2 读核 [更多]
绝对经典完整的入门教程 由于70MB的文件限制 分为两节下载 搜索“[Visual.Basic.2010.入门经典(第6版)].Thearon.Willi等.扫描版(2/2)”可以下载另外一半 或者直接打开链接“http://download.csdn.net/detail/sfstream6/8240837” 目 录 第1 章 初识Visual Basic 2010 ............ 1 1.1 事件驱动编程 .............................. 2 1.2 安装Visual Basic 2010 ................ 3 1.3 Visual Basic 2010 集成开发 环境 .............................................. 5 1.3.1 初始化开发环境 ...................... 6 1.3.2 菜单 .......................................... 6 1.3.3 工具栏 ...................................... 7 1.4 创建简单的应用程序 .................. 8 1.4.1 工具箱 .................................... 11 1.4.2 改进型匈牙利表示法 ............ 13 1.4.3 代码编辑器 ............................ 14 1.5 使用帮助系统 ............................ 17 1.6 小结 ............................................ 18 1.7 练习 ............................................ 18 第2 章 .NET Framework 概述 ............ 19 2.1 微软的信心来自于Windows .... 19 2.1.1 MSN 1.0 .................................. 20 2.1.2 .NET理念 .............................. 20 2.1.3 .NET与Java 有些类似 .......... 21 2.1.4 现在所处的阶段 .................... 22 2.2 为Windows 编写软件 ............... 22 2.2.1 .NET Framework类 ............... 23 2.2.2 执行代码 ................................ 24 2.3 公共语言运行时 ........................ 25 2.3.1 载入并执行代码 .................... 25 2.3.2 应用程序隔离 ........................ 25 2.3.3 安全性 .................................... 25 2.3.4 互操作 .................................... 26 2.3.5 异常处理 ................................ 26 2.4 通用类型系统和公共语言 规范 ............................................ 26 2.5 小结 ............................................ 27 第3 章 编写软件 ................................ 29 3.1 信息和数据 ................................ 29 3.1.1 算法 ........................................ 29 3.1.2 编程语言 ................................ 30 3.2 变量 ............................................ 31 3.3 注释和空白 ................................ 33 3.3.1 注释 ........................................ 33 3.3.2 空白 ........................................ 35 3.4 数据类型 .................................... 35 3.4.1 数字类型 ................................ 35 3.4.2 常见的整型数学运算 ............. 36 3.4.3 整型运算的缩写方式 ............. 38 3.4.4 浮点型数学运算 ..................... 40 3.4.5 字符串类型 ............................ 42 3.4.6 使用日期 ................................ 49 3.4.7 布尔类型 ................................ 54 3.5 存储变量 .................................... 55 3.5.1 二进制 .................................... 55 3.5.2 位和字节 ................................ 55 3.5.3 值的表示 ................................ 56 3.5.4 值的转换 ................................ 57 3.6 方法 ............................................ 58 3.6.1 使用方法的原因 ..................... 59 3.6.2 前面曾介绍过的方法 ............. 59 3.6.3 创建方法 ................................ 62 3.6.4 选择方法名称 ........................ 65 3.6.5 作用域 .................................... 65 3.7 小结 ............................................ 67 3.8 练习 ............................................ 68 第4 章 流程控制 .................................. 69 4.1 作出决策 .................................... 69 Visual Basic 2010 入门经典( 第6 版) X 4.2 If 语句 ........................................ 70 4.2.1 Else 语句 ................................ 71 4.2.2 可进行多重选择的ElseIf 语句 ........................................ 72 4.2.3 嵌套的If 语句 ........................ 73 4.2.4 单行If 语句 ............................ 73 4.2.5 比较运算符 ............................ 74 4.2.6 字符串比较 ............................ 81 4.3 Select Case 语句 ........................ 83 4.3.1 不区分大小写的Select Case 语句 ........................................ 86 4.3.2 多重选择 ................................ 88 4.3.3 Case Else 语句 ........................ 89 4.3.4 Select Case 中的不同数据 类型 ........................................ 89 4.4 循环 ............................................ 90 4.4.1 For…Next 循环 ..................... 90 4.4.2 Do…Loop 循环 ...................... 95 4.4.3 嵌套循环 ................................ 99 4.4.4 提前退出循环 ...................... 100 4.4.5 死循环 .................................. 102 4.5 小结 .......................................... 103 4.6 练习 .......................................... 104 第5 章 处理数据结构 ....................... 105 5.1 数组 .......................................... 105 5.1.1 定义和使用数组 .................. 105 5.1.2 使用 For Each…Next 循环 .... 108 5.1.3 将数组作为参数传递 .......... 110 5.1.4 数组的排序 .......................... 112 5.1.5 反向检索 .............................. 113 5.1.6 用值初始化数组 .................. 115 5.2 枚举 .......................................... 116 5.2.1 使用枚举 .............................. 116 5.2.2 确定状态 .............................. 119 5.2.3 设置无效值 .......................... 121 5.3 常量 .......................................... 121 5.3.1 使用常量 .............................. 122 5.3.2 各种常量类型 ...................... 123 5.4 结构 .......................................... 123 5.4.1 创建结构 .............................. 124 5.4.2 为结构添加属性 .................. 126 5.5 数组列表 .................................. 127 5.5.1 使用数组列表 ..................... 127 5.5.2 在数组列表中进行删除 操作 ..................................... 131 5.5.3 显示数组列表中的项 .......... 134 5.6 集合 .......................................... 134 5.6.1 创建 CustomerCollection 类 ... 135 5.6.2 添加Item 属性 .................... 136 5.7 使用散列表创建查询表 .......... 138 5.7.1 使用散列表 ......................... 138 5.7.2 Remove、RemoveAt和Clear 方法 ..................................... 141 5.7.3 区分大小写 ......................... 143 5.8 高级数组操作 .......................... 144 5.8.1 动态数组 ............................. 144 5.8.2 使用Preserve 关键字 .......... 146 5.9 小结 .......................................... 147 5.10 练习 ........................................ 147 第6 章 可扩展应用程序标记语言 (XAML) ................................ 149 6.1 什么是XAML ......................... 149 6.2 XAML语法 ............................. 150 6.3 WPF .......................................... 153 6.3.1 创建一个富WPF用户 界面 ..................................... 154 6.3.2 使用WPF通用控件 ........... 159 6.3.3 连接事件 ............................. 163 6.4 小结 .......................................... 166 6.5 练习 .......................................... 167 第7 章 构建Windows应用程序 ...... 169 7.1 响应事件 .................................. 169 7.2 创建简单的应用程序 .............. 176 7.2.1 构建窗体 ............................. 176 7.2.2 统计字符 ............................. 179 7.2.3 统计单词 ............................. 181 7.3 创建更复杂的应用程序 .......... 187 7.3.1 Text Editor 项目 .................. 187 7.3.2 创建工具栏 ......................... 187 目 录 XI 7.3.3 创建状态栏 .......................... 191 7.3.4 创建编辑框 .......................... 193 7.3.5 清除编辑框 .......................... 194 7.3.6 响应工具栏按钮 .................. 197 7.4 使用多个窗体 .......................... 202 7.5 小结 .......................................... 205 7.6 练习 .......................................... 206 第8 章 显示对话框 ........................... 207 8.1 MessageBox 对话框 ................ 207 8.1.1 MessageBox中的可用 图标 ...................................... 208 8.1.2 MessageBox中的可用 按钮 ...................................... 208 8.1.3 设置默认按钮 ...................... 209 8.1.4 其他选项 .............................. 209 8.1.5 Show 方法的语法 ................ 209 8.1.6 MessageBox的示例 ............. 211 8.2 OpenFileDialog 控件 ............... 214 8.2.1 OpenFileDialog 控件 ............ 214 8.2.2 OpenFileDialog 的属性 ........ 215 8.2.3 OpenFileDialog 的方法 ........ 216 8.2.4 使用OpenFileDialog 控件 ... 216 8.3 SaveFileDialog 控件 ................ 220 8.3.1 SaveFileDialog 的属性 ........ 221 8.3.2 SaveFileDialog 的方法 ........ 221 8.3.3 使用SaveFileDialog控件 .... 221 8.4 FontDialog 控件 ....................... 225 8.4.1 FontDialog 的属性 ............... 225 8.4.2 FontDialog 的方法 ............... 225 8.4.3 使用FontDialog 控件 .......... 225 8.5 ColorDialog 控件 ..................... 228 8.5.1 ColorDialog的属性 ............. 228 8.5.2 使用ColorDialog控件 ........ 229 8.6 PrintDialog 控件 ...................... 230 8.6.1 PrintDialog 的属性 ............... 231 8.6.2 使用PrintDialog 控件 .......... 231 8.6.3 PrintDocument类 ................. 231 8.6.4 打印文档 .............................. 232 8.7 FolderBrowserDialog控件 ...... 238 8.7.1 FolderBrowserDialog 控件 的属性 ................................. 238 8.7.2 使用FolderBrowserDialog 控件 ..................................... 238 8.8 小结 .......................................... 241 8.9 练习 .......................................... 242 第9 章 创建菜单 .............................. 243 9.1 菜单功能概述 .......................... 243 9.1.1 图形 ..................................... 243 9.1.2 访问键 ................................. 244 9.1.3 快捷键 ................................. 244 9.1.4 复选标记 ............................. 244 9.1.5 Properties窗格 .................... 245 9.2 创建菜单 .................................. 246 9.2.1 设计菜单 ............................. 246 9.2.2 添加工具栏和控件 .............. 247 9.2.3 为菜单编写代码 .................. 249 9.2.4 为View菜单和工具栏编写 代码 ..................................... 253 9.2.5 测试代码 ............................. 254 9.3 上下文菜单 .............................. 256 9.3.1 创建上下文菜单 .................. 256 9.3.2 激活或禁用菜单项和工具栏 按钮 ..................................... 259 9.4 小结 .......................................... 262 9.5 练习 .......................................... 263 第10章 调试和错误处理 ................. 265 10.1 主要错误类型 ........................ 265 10.1.1 语法错误 ......................... 266 10.1.2 执行错误 ......................... 269 10.1.3 逻辑错误 ......................... 269 10.2 调试 ........................................ 270 10.2.1 创建示例项目 ................. 270 10.2.2 设置断点 ......................... 285 10.2.3 使用Watch窗格和 QuickWatch 对话框 进行调试 ......................... 291 10.2.4 使用Autos窗格进行 调试 ................................. 293 Visual Basic 2010 入门经典( 第6 版) XII 10.2.5 使用Locals 窗格进行 调试 .................................. 293 10.3 错误处理 ................................ 294 10.4 小结 ........................................ 298 10.5 练习 ........................................ 298 第11章 构建对象 ............................. 299 11.1 对象的概念 ............................ 299 11.1.1 封装 .................................. 300 11.1.2 方法和属性 ...................... 300 11.1.3 事件 .................................. 301 11.1.4 可见性 .............................. 301 11.1.5 类的概念 .......................... 302 11.2 构建类 .................................... 302 11.3 重用性 .................................... 303 11.4 设计对象 ................................ 304 11.4.1 状态 .................................. 305 11.4.2 行为 .................................. 305 11.4.3 存储状态 .......................... 305 11.4.4 属性 .................................. 308 11.4.5 读/ 写属性 ......................... 311 11.4.6 IsMoving 方法 .................. 313 11.5 构造函数 ................................ 315 11.6 继承 ........................................ 317 11.6.1 添加新方法和属性 .......... 318 11.6.2 添加 GetPowerToWeightRatio 方法 ................................... 320 11.6.3 改变默认值 ...................... 321 11.6.4 多态性 .............................. 323 11.6.5 重写更多的方法 .............. 324 11.6.6 从对象类中继承 .............. 326 11.7 对象和结构 ............................ 326 11.8 .NET Framework 类 ............... 326 11.8.1 名称空间 .......................... 327 11.8.2 Imports 语句 ..................... 328 11.8.3 创建自己的名称空间 ...... 329 11.8.4 .NET Framework 中 的继承 ............................... 331 11.9 小结 ........................................ 332 11.10 练习 ...................................... 332 第12章 面向对象的高级技术 .......... 333 12.1 构建收藏页浏览应用程序 .... 333 12.1.1 Internet 快捷方式和 收藏页 .............................. 333 12.1.2 使用类 ............................. 336 12.1.3 遍历收藏页 ..................... 341 12.1.4 查看收藏页 ..................... 347 12.2 另一个收藏页浏览应用 程序 ........................................ 349 12.2.1 构建收藏页的系统托盘 图标 ................................. 350 12.2.2 显示收藏页 ..................... 351 12.3 使用共享属性和方法 ............ 354 12.3.1 使用共享属性 ................. 355 12.3.2 使用共享方法 ................. 358 12.4 理解面向对象编程和内存 管理 ........................................ 360 12.4.1 垃圾回收 ......................... 361 12.4.2 释放资源 ......................... 361 12.4.3 整理碎片和压缩 ............. 362 12.5 小结 ........................................ 363 12.6 练习 ........................................ 364 第13章 建立类库 ............................ 365 13.1 理解类库 ................................ 365 13.1.1 创建类库 ......................... 366 13.1.2 为Favorites Viewer 项目 创建类库 .......................... 367 13.1.3 多层应用程序 ................. 370 13.2 使用强名 ................................ 371 13.2.1 对程序集签名 ................. 371 13.2.2 程序集的版本 ................. 373 13.3 注册程序集 ............................ 374 13.3.1 Gacutil 实用程序 ............. 374 13.3.2 程序集在References 对话框中不可见的原因 ... 374 13.4 设计类库 ................................ 375 13.5 使用第三方类库 .................... 375 13.6 用对象浏览器查看类 ............ 376 13.7 小结 ........................................ 377 13.8 练习 ........................................ 378 目 录 XIII 第14章 创建Windows窗体用户 控件 ................................... 379 14.1 Windows 窗体控件 ................ 379 14.2 创建和测试用户控件 ............ 380 14.3 给用户控件添加属性、方法 和事件 .................................... 383 14.3.1 给用户控件添加属性 ...... 383 14.3.2 给用户控件添加方法 ...... 385 14.3.3 给用户控件添加事件 ...... 386 14.4 设计期间或运行期间 ............ 389 14.5 创建Command Link控件 ..... 391 14.5.1 创建Command Link 控件 .................................. 392 14.5.2 使用Command Link 控件 .................................. 399 14.6 小结 ........................................ 402 14.7 练习 ........................................ 402 第15章 访问数据库 ......................... 405 15.1 数据库的概念 ........................ 405 15.1.1 Microsoft Access 对象 ..... 406 15.1.2 表 ...................................... 406 15.1.3 查询 .................................. 406 15.2 SQL 中的SELECT 语句 ....... 407 15.3 Access 中的查询 .................... 408 15.4 数据访问组件和控件 ............ 412 15.4.1 DataSet 组件 .................... 412 15.4.2 DataGridView 控件 .......... 413 15.4.3 BindingSource 组件 ......... 413 15.4.4 BindingNavigator 控件 .... 413 15.4.5 TableAdapter 组件 ............ 413 15.5 数据绑定 ................................ 414 15.6 小结 ........................................ 419 15.7 练习 ........................................ 420 第16章 使用SQL Server和ADO.NET 进行数据库编程 .................. 421 16.1 ADO.NET .............................. 422 16.1.1 ADO.NET 数据名称 空间 .................................. 422 16.1.2 SqlConnection 类 ............. 423 16.1.3 SqlCommand类 .............. 425 16.1.4 SqlDataAdapter 类 ........... 427 16.1.5 DataSet 类 ........................ 431 16.1.6 DataView 类 .................... 431 16.2 使用ADO.NET类 ................. 433 16.3 数据绑定 ................................ 441 16.3.1 BindingContext 和 CurrencyManager对象 ... 441 16.3.2 绑定控件 ......................... 442 16.4 小结 ........................................ 468 16.5 练习 ........................................ 468 第17章 动态数据网站 ..................... 469 17.1 创建一个动态数据 LINQ to SQL 网站 ................ 469 17.2 定制动态数据网站的设计 .... 473 17.3 小结 ........................................ 478 17.4 练习 ........................................ 478 第18章 ASP.NET ........................ 479 18.1 瘦客户端体系结构 ................ 479 18.2 Web 窗体和Windows 窗体 的比较 .................................... 480 18.2.1 Windows 窗体的优点 ..... 480 18.2.2 Web 窗体的优点 ............. 481 18.3 Web 应用程序基础 ................ 481 18.3.1 Web 服务器 ..................... 482 18.3.2 浏览器 ............................. 482 18.3.3 HTML .............................. 482 18.3.4 JavaScript ......................... 482 18.3.5 CSS .................................. 482 18.4 关于ASP 页面 ....................... 483 18.4.1 ASP.NET Web 页面的 优点 .................................. 483 18.4.2 特殊的We b 站点文件 .... 483 18.4.3 开发方式 ......................... 483 18.4.4 工具箱 ............................. 484 18.5 构建Web 应用程序 ............... 484 18.5.1 为客户端和服务器端 处理创建We b 窗体 ......... 484 Visual Basic 2010 入门经典( 第6 版) XI V 18.5.2 Visual Studio 2010中 We b 站点的位置 .............. 489 18.5.3 数据的输入和验证 .......... 491 18.5.4 设计布局、主题和导航 .... 496 18.5.5 使用GridView 构建数据 驱动的We b 窗体 ............. 501 18.6 小结 ........................................ 505 18.7 练习 ........................................ 506 第19章 Visual Basic 2010 和XML ... 507 19.1 了解XML .............................. 507 19.1.1 XML 简介 ........................ 508 19.1.2 向Visual Basic编程新手 介绍XML ......................... 510 19.1.3 规则 .................................. 510 19.2 地址簿项目 ............................ 510 19.2.1 创建项目 .......................... 511 19.2.2 SerializableData类 ........... 512 19.2.3 载入XML文件 ............... 517 19.2.4 修改数据 .......................... 519 19.2.5 发送email ........................ 520 19.2.6 创建地址列表 .................. 521 19.2.7 忽略成员 .......................... 525 19.2.8 载入地址 .......................... 527 19.2.9 添加新地址 ...................... 528 19.2.10 地址导航 ........................ 529 19.2.11 删除地址 ........................ 531 19.3 集成地址簿应用程序 ............ 533 19.3.1 集成规则 ......................... 533 19.3.2 从其他应用程序中读取 地址簿 .............................. 534 19.4 小结 ........................................ 539 19.5 练习 ........................................ 540 第20章 部署应用程序 ..................... 541 20.1 部署简介 ................................ 541 20.1.1 ClickOnce 部署 ............... 542 20.1.2 XCOPY 部署 ................... 546 20.2 创建Visual Studio 2010 安装 程序 ........................................ 547 20.3 UI 编辑器 ............................... 550 20.4 部署不同的解决方案 ............ 553 20.4.1 私有程序集 ..................... 553 20.4.2 共享程序集 ..................... 554 20.4.3 部署桌面应用程序 ......... 554 20.4.4 部署Web 应用程序 ........ 554 20.4.5 部署XML Web服务 ....... 555 20.4.6 一些有用的工具 ............. 555 20.5 小结 ........................................ 555 20.6 练习 ........................................ 556 附录A 练习题答案 ........................... 557 附录B 如何深入学习 ....................... 569

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧