【发布时间】:2010-09-08 16:02:24
【问题描述】:
问题:如何检查Graphics对象是否可用。
我的问题:我从表单创建 Graphics 对象并将其提供给“对象 X”进行绘制,当表单关闭并且“对象 X”尝试绘制到 Graphics 对象时,GDI+ 错误发生 0x80004005。
所以我需要检查 Graphics 是否仅具有 Graphics 对象是可绘制的。
有什么想法吗?
【问题讨论】:
问题:如何检查Graphics对象是否可用。
我的问题:我从表单创建 Graphics 对象并将其提供给“对象 X”进行绘制,当表单关闭并且“对象 X”尝试绘制到 Graphics 对象时,GDI+ 错误发生 0x80004005。
所以我需要检查 Graphics 是否仅具有 Graphics 对象是可绘制的。
有什么想法吗?
【问题讨论】:
绘制对象的最佳方式是处理窗体的 Paint 事件。在 Paint() 中,您将可以访问始终可绘制的 Graphics。所以你可以毫无问题地使用它。
【讨论】:
当您的表单关闭时,您应该将这一事实告知您的“对象 X”...
否则,了解 Graphics 对象是否可访问的唯一方法是在其上调用一个小方法,例如 GetHdc(如果成功,则使用正确的 ReleaseHdc)并捕获可能发生的错误。
【讨论】:
GetHdc 和 ReleaseHdc、VirtualBlackFox 的好主意,运气不错。
干得好。
【讨论】: