2015-06-22 65 views
1

我有一个使用GDI绘制几个矩形的项目。我使用i++ from i=0 to i<=10。我使用。我通过调用Graphics.Invalidate() 刷新绘制的矩形每1/10s我的问题是,当绘制更多4个矩形时,我的图片框被划掉。我想这是因为图片盒内存不足。 我能对付它吗?将图片框划掉C#

Thx提前:d

+1

如果没有代码,它将不可能被告知,那么“划掉”是什么意思? – Sayse

+2

请显示(部分)您的代码。我认为这个问题不在记忆中。 – cyberj0g

+0

winforms控件中的红叉意味着在GDI +中出现了一个本地异常,您可能不会将资源当作笔,画笔等处理,或者可能会在您的自定义画图处理程序中发生异常,将它包装在尝试捕获并在catch语句中放置一个断点,以查看自己的代码是否失败 –

回答

1

未捕获的异常控制的涂料中被抛出,将出现此红色交叉。造成这种情况的最常见的原因是,人们已将自定义处理程序附加到控件的Paint事件中,并且在附加代码中存在一个错误,导致抛出异常。

try...catch块围住您的自定义绘制逻辑,并将异常记录到您喜欢的位置(Debug.WriteLine(),文件等)以进行调查。

这是一个副产品:红色十字将立刻消失,因为异常不再传递到控件的绘图例程。