【问题标题】:Object already in use elsewhere已在其他地方使用的对象
【发布时间】:2015-05-15 05:48:46
【问题描述】:

当我在 Windows 窗体中拖动图片框时,它显示为已在其他地方使用的对象。

我搜索了堆栈溢出和其他网站说错误是线程、面向编码和 GDI+。但我没有写任何代码。我只是拖动图片框。然后它显示“已在其他地方使用”。

有人解释一下吗?

【问题讨论】:

  • 能否在问题中添加错误截图
  • 10 需要信誉才能添加截图。所以只有我不能添加截图。
  • 这当然不应该发生。重新启动您的 PC 并创建一个新的、干净的项目。当问题仍然存在时,重新安装/修复 VS。
  • Henk@我重启了电脑,也重装了VS和操作系统
  • 又开始了一个新项目?

标签: c# winforms visual-studio-2008


【解决方案1】:

这通常表明其他东西,可能是您自己的应用程序中的其他线程,已经在文件系统级别锁定了您尝试保存的目标文件。如果您查看内部异常,我相信它应该提到这一点。如果它不是直接在 InnerException 中确认这一点的另一种方法(或发现它可能实际上是什么)是在调试器中打开第一次机会异常并观察在“下方”抛出什么异常保存,然后变成这个一般异常。
asp.net 中的 GDI+ 发生一般错误,主要是因为缺少目标文件夹/访问权限。

【讨论】:

  • 查看错误需要调试 VS 本身。没那么容易。
  • @HenkHolterman 编辑后上传的图片看起来是对的,这与他的编码问题无关,而是 VS。
  • @Jerin 我按照你说的调试了它,结果是“System.AccessViolationException: Attempted to read or write Protected memory。这通常表明 system.Drawing.SafeNativeMethod 的其他内存已损坏.Gdip.GdipDrawRectangel(HandleRef图形,HandleRef笔,Int32 x,32y高度)"
  • 当我将位图图像作为源添加到图片框时,该错误曾经弹出,但由于您没有完成任何编码,所以它一定是 Visual Studio 错误。
  • 由于没有任何代码,并且您只是在新项目中拖放了一个图片框,因此除非您的 VS 安装有一些损坏的文件或某些注册表错误可能已经潜入,否则不应弹出错误.所有我能想到的重新安装和更新你的VS。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-10-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-06
  • 2012-02-03
相关资源
最近更新 更多