如何正确从内存中清除WebBrowser

IEnumerable

在我的C# WinForms应用程序中,我有一个嵌套在TabControl其中的WebBrowser控件。

页面加载时(Silverlight控制页面),我在页面中获得的音频和视频就很好。

但是当我打电话

tabControl1.TabPages.Remove(myTabPage);

我仍然听到音频播放。如何从内存中清除当前的webBrowser?

科迪·格雷

您已经从选项卡控件中删除了选项卡页。尚未破坏选项卡页面,也没有破坏其包含的控件。

实际上,在显示代码之后,您可以立即执行

tabControl2.TabPages.Add(myTabPage);

将同一标签页添加到其他标签控件。Web浏览器通常会执行类似的操作,以启用该功能,您可以在其中将选项卡拖放到另一个窗口。这也是暂时使选项卡页不可见的方式,因为VisibleTabControl没有属性。

您需要做的是为选项卡页面控件调用Dispose方法myTabPage通常,一旦框架的父选项卡控件被销毁,该框架将自动处理此问题,但是由于您是从该控件的父容器中手动删除该控件,因此不会发生这种情况。您必须手动处理它。修改您的代码,如下所示:

tabControl1.TabPages.Remove(myTabPage);
myTabPage.Dispose();

这应该处理选项卡页及其子控件(包括WebBrowser)的资源。

但这并不一定会停止声音,至少不会立即停止。为了确保这种情况发生,您需要将WebBrowser控件的Source属性设置null您必须处置标签页之前执行此操作(您不能修改已处置对象的属性)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何正确清除内存?

来自分类Dev

如何清除WPF中的WebBrowser控件

来自分类Dev

如何清除在C ++中为指针正确指向的数组分配的内存?

来自分类Dev

如何从内存中清除C ++中的向量

来自分类Dev

如何从内存中清除动态编译的类

来自分类Dev

如何清除JavaScript中的敏感内存?

来自分类Dev

如何清除Ruby中的内存缓存?

来自分类Dev

如何清除Debian中的缓存内存?

来自分类Dev

如何清除Ruby中的内存缓存?

来自分类Dev

如何清除iOS中的内存警告

来自分类Dev

Stata:如何从内存中清除 sts 图?

来自分类Dev

如何清除WritableBitmap的内存

来自分类Dev

如何清除NSTimer内存?

来自分类Dev

如何清除WritableBitmap的内存

来自分类Dev

如何从内存中清除使用jQuery创建的DOM元素?

来自分类Dev

使用后如何从内存中清除私钥数据?

来自分类Dev

如何使Mule的内存中存储无效并清除缓存

来自分类Dev

在pytorch中训练后如何清除图形卡的内存?

来自分类Dev

如何从 JVM 内存中清除明确合理的数据?

来自分类Dev

操作系统如何清除JVM的内存以及JVM如何清除其在堆中的对象?

来自分类Dev

如何使WebBrowser正确呈现WebPage?

来自分类Dev

如何清除或禁用内存缓存?

来自分类Dev

如何清除或禁用内存缓存?

来自分类Dev

从JS内存中清除对象

来自分类Dev

JavaScript从内存中清除变量

来自分类Dev

清除C ++中的内存问题

来自分类Dev

如何正确清除Twitter Bootstrap中的浮动内容?

来自分类Dev

如何为C中的结构数组正确分配内存?

来自分类Dev

libGDX:如何将屏幕正确加载到内存中?