私はを作成し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
ます。ビットマップで使用しなくても問題ありません。両方の答えは素晴らしいです、私はそれらの1つだけを受け入れることができます:(