رافعی مهدی
دوشنبه 03 تیر 1387, 13:32 عصر
با سلام
کنترلی به نام PaintCanvas ساخته ام و در برنامه بر روی آن با استفاده از کلاس
System.Drawing.Drawing2D.GraphicsPath
چندین مسیر گرافیکی رسم کرده ام. حالا می خواهم یکی از این مسیرها را Invalidate کنم تا سایر مسیرها بی جهت دوباره رسم نشوند و به این شکل از پرش ناخواسته ی تصویر جلوگیری کنم. فرض کنیم مسیر گرافیکی مورد نظر Path باشد.
Region Rgn;
Rgn = new Region(Path);
انتظار می رود فرمان
paintCanvas.Invalidate(Rgn);
باعث رسم مجدد این ناحیه (مسیر) شود, ولی هیچ اتفاق خاصی نمی افتد. در حالی که اگر مستطیل محیطی مسیر یاد شده یا تمام کنترل PaintCanvas را Invalidate کنیم, تغییرات اعمال شده بر Path, با رسم مجدد, بخوبی اعمال می شود.
چطور می توان این مشکل را رفع کرد.
با تشکر
کنترلی به نام PaintCanvas ساخته ام و در برنامه بر روی آن با استفاده از کلاس
System.Drawing.Drawing2D.GraphicsPath
چندین مسیر گرافیکی رسم کرده ام. حالا می خواهم یکی از این مسیرها را Invalidate کنم تا سایر مسیرها بی جهت دوباره رسم نشوند و به این شکل از پرش ناخواسته ی تصویر جلوگیری کنم. فرض کنیم مسیر گرافیکی مورد نظر Path باشد.
Region Rgn;
Rgn = new Region(Path);
انتظار می رود فرمان
paintCanvas.Invalidate(Rgn);
باعث رسم مجدد این ناحیه (مسیر) شود, ولی هیچ اتفاق خاصی نمی افتد. در حالی که اگر مستطیل محیطی مسیر یاد شده یا تمام کنترل PaintCanvas را Invalidate کنیم, تغییرات اعمال شده بر Path, با رسم مجدد, بخوبی اعمال می شود.
چطور می توان این مشکل را رفع کرد.
با تشکر