FIX: 的工具提示组件可能会导致内存泄漏时它将被添加到孩子在 Visual Studio.net 中的 MDI 窗体

注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。

点击这里察看该文章的英文版: 817795
本文已归档。它按“原样”提供,并且不再更新。
症状
当您使用的工具提示组件在 Microsoft Visual Studio.net 中使用 Windows 窗体在多文档界面 (MDI) 模式下时,您的应用程序可能会遇到内存泄漏工具提示组件用于子 MDI 窗体每次。作为 Microsoft Windows 任务管理器显示为重复该操作的图形设备接口 (GDI) 对象计数的增加,您可能会注意到此问题。

若要查看 GDI 对象计数在任务管理器中,请按照下列步骤:
  1. 打开任务管理器窗口。
  2. 视图 菜单上单击 选择列
  3. 选择列对话框中单击以选中 GDI 对象
原因
您有嵌入在一个子 MDI 表单上一个工具提示组件和子 MDI 窗体被销毁时,会出现此问题。工具提示组件不是垃圾回收后在 MDI 窗体已被破坏。
解决方案
若要解决此问题,获得最新的 service pack,Microsoft.net Framework 1.0 或 Microsoft.net Framework 1.1。有关详细的信息请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
状态
Microsoft 已经确认这是在"适用于"一节中列出的 Microsoft 产品中的问题。
替代方法
为 MDI 窗体了 工具提示 组件将下面的代码添加到窗体被销毁时销毁所有的 工具提示 组件在 MDI 窗体:
protected override void Dispose(bool disposing) { If (disposing) { If (components != null) { components.Dispose(); components = null; } If (toolTip1 != null) { // Code to add toolTip1.Dispose(); // toolTip1 = null; // }// }base.Dipose(disposing); } 
参考
有关更多的信息请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
824684用于描述 Microsoft 软件更新的标准术语的说明

警告:本文已自动翻译

属性

文章 ID:817795 - 上次审阅时间:12/08/2015 02:25:19 - 修订版本: 2.7

Microsoft .NET Framework 1.0, Microsoft .NET Framework 1.1, Microsoft Visual Studio .NET 2003 Enterprise Architect, Microsoft Visual Studio .NET 2003 Enterprise Developer, Microsoft Visual Studio .NET 2003 Academic Edition, Microsoft Visual Studio .NET 2002 企业级结构设计版, Microsoft Visual Studio .NET 2002 企业级开发版, Microsoft Visual Studio .NET 2002 专业版, Microsoft Visual Studio .NET 2002 Academic Edition

  • kbnosurvey kbarchive kbmt kbhotfixserver kbqfe kbvs2002sp1sweep kbqfe kbfix kbbug KB817795 KbMtzh
反馈