为什么在绘制TeeChart ActiveX 5组件时会出现“Canvas不允许绘图”?

时间:2008-09-17 18:04:26

标签: c# .net system.drawing teechart

我正在使用Steema的TeeChart ActiveX 5组件用于.NET C#中的应用程序。

我使用方法Line()Rectangle()Circle()通过组件的“Canvas”属性执行一些绘图。

我会在组件的每个OnBeforeDrawSeries()OnAfterDraw()事件中调用我的绘图代码。

当只有几张图纸时,它可以正常工作。但是当绘图量增加并且经过一定数量的重绘后,我得到一个MessageBox错误“画布不允许绘图”并且应用程序退出

我相信这是因为使用绘图调用“重载”组件。

我是否以错误的方式使用此功能,或者我可以将其视为组件中的BUG?

1 个答案:

答案 0 :(得分:1)

我认为这是一个错误,因为我对此组件及其管理内存的方式有类似的问题(不是使用Canvas)。

在具有少量RAM的某台机器上,当我们创建大量图形并显示它们时,我们将收到一个消息框,其中显示“没有足够的存储空间来处理此命令”。出现此框后,无法关闭此框,因为如果单击“确定”,将一次又一次显示消息框。所以,你需要杀死应用程序才能获得它。我认为该错误与绘图过程有关,因为当我们关闭消息框时,组件会尝试重新绘制显示消息框的区域,并再次发生错误。

首先,您知道TeeChart ActiveX现在是版本8.也许此版本可以解决此问题。

我建议也尝试使用TeeChart的.NET版本。根据我自己的经验,TeeChart .NET没有任何内存问题,因为内存由.NET框架管理。