我正在创建一个Label
,有时我正在使用.DrawToBitmap()
. 我不知道为什么,但是在我运行我的程序一段时间(并且.DrawToBitmap()
经常调用)之后,我得到了异常:
System.ArgumentException: Parameter is not valid.
at System.Drawing.Bitmap..ctor(Int32 width, Int32 height, PixelFormat format)
at System.Drawing.Bitmap..ctor(Int32 width, Int32 height)
不知何故,我不能经常调用这个函数。如果我从根本上试试这个:
while(true)
{
System.Windows.Forms.Label label = new Label();
label.Font = new Font("Arial", 20);
label.Text = "test";
try
{
Bitmap image = new Bitmap(300, 500);
label.DrawToBitmap(image, label.ClientRectangle);
}
catch (Exception e)
{
Console.WriteLine(e);
}
}
我在 5-6 秒(1000-2000 次通话)后得到了异常。问题是什么?如何避免这种情况?
编辑:谢谢你们的想法Dispose()
- 如果我在label
. 即使我不在位图上使用它也很好。两个答案都很好,我只能接受其中一个:(