DrawToBitmap -System.ArgumentException :Недопустимый параметр

Я создаю 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. Даже если я не использую его в Bitmap, все в порядке. Оба ответа великолепны, я могу принять только один из них:(

5
задан miri 16 August 2012 в 22:52
поделиться