مشکل با کلاس graphics و رنگ آمیزی فرم
با سلام خدمت دوستان
من برای رنگ آمیزی فرمم از قطعه کد زیر استفاده میکنم که باعث میشه رنگ فرم به صورت grediant در بیاد یعنی دو رنگ بشه , از یک سمت رنگ پر باشه و تا طرف دیگه به سمت سفیدی بره , مشکل اینجاست که بعد هفت یا 8 بار فراخوانی (بسته به حافظه سیستم) اکسپشن GDI+ رو میده که پیغامش بعضی موقع ها out of memory exception و بعضی موقع ها هم interopService exception هستش اکسپشن اول رو یه جوری حل کردم گرچه بازم شاید بده اما دومی بعد از چندین بار فراخوانی فرم و مسیج باکسم که اونم از این کد استفاده میکنه بوجود میاد البته بسته به حافظه داره تو ویندوز ایکس پی زودتر میده تو سون دیرتر , کد من به شکل زیر هستش :
GC.Collect();
GC.WaitForPendingFinalizers();
GC.Collect();
Graphics g = e.Graphics;
Rectangle frmTitleR = new Rectangle(0, 0, this.Width, this.Height);
LinearGradientBrush frmLGBR = new LinearGradientBrush(frmTitleR, Color.FromArgb(209, 230, 243), Color.FromArgb(106, 163, 174), LinearGradientMode.Horizontal);
g.FillRectangle(frmLGBR, frmTitleR);
g.Dispose();
frmLGBR.Dispose();
همینطور که میبینین اولش جی سی رو صدا میزنم تا حافظه رو از منابع بی مصرف پاک کنه و در آخر هم شی گرافیک و شی کلاس LinearGradientBrush v رو آزاد میکنم که بازم همین مشکل وجود داره
کسی میدونه مشکل از چیه ؟ ممنون