سلام
من یه تعداد شکل رو روی Form م میکشم ولی بعد از اینکه Form رو Minimize میکنم یا یه منوی دیگه یا برنامه دیگه مثل JetAudio رو روی اون میکشم چیز هایی که کشیده بودم پاک میشن
چه طوری این مشکل رو حل کنم ؟
سلام
من یه تعداد شکل رو روی Form م میکشم ولی بعد از اینکه Form رو Minimize میکنم یا یه منوی دیگه یا برنامه دیگه مثل JetAudio رو روی اون میکشم چیز هایی که کشیده بودم پاک میشن
چه طوری این مشکل رو حل کنم ؟
قبلا با GDI در VB همین مشکل را داشتم ولی autoredraw مربوط به فرم را که true میکردم درست میشد در net. هنوز تست نکردم.
کسی نمی دونه این مشکل رو چه طوری حل کنم ؟
می تونی هر چی که می خوای بکشی در رویداد on paint بذاری در این صورت هر اتفاقی بیفته شکلت دوبازه کشیده می شه. البته فکر نمی کنم این راه حل درستی باشه.حتما راه حل های بهتری هم هست.
زمانی اتفاق میافتد که یک فعل وانفعال روی فرم انجام شود Onpaint رویداد
مانند مواردی که شما ذکر کردید
در این رویداد فرم وتمام کنترلهای آن باید خود را دوباره رسم کنند
در نتیجه آنچه که شما رسم میکنید باید در این رویداد باشد در
غیر اینصورت در اولین باری که این رویداد اتفاق افتاد حتما شکل شما از دست میرود
توی Event مینیمایزت یک Repaint بگذار
شاید جواب ده
موفق باشید
توی ویژوال سی یه مبحثب بود به اسم سریالایز کردن ... شاید اینجا بدردت بخوره.
خیلی وقته سی کار نمیکنم چیزی یادم نمونه ولی دوستان میتونن کمکت کنن.
من حرفه ای نیستم میشه مبتدی تر توضیح بدین !!نوشته شده توسط sianooshonline
Repaint چیه ؟
گل پسر
کدهایی که برای ترسیم شکلهایت نوشتی را در رویداد
OnPaint
بنویس مطمئن باش درست می شه
![]()
آقا من یک قبلا بهتون گفتم از onpaint استفاده کنید مشکل حل می شه!!!
یکی از روشهایی که می تونی استفاده کنی استفاده از یک شی ایمیج است .
شما می توانید تمام چیزهایی که می خواهی بکشی رو تو ایمیج بکشی در این صورت با تغییر فرم اونو از دست نمی دی.
Onpaint جواب نداد
قبلا امتحان کرده بودم !!
منم این مشکل رو دارم اگه فهمیدین از کجاس به منم بگین لطفا
قفل مخفی تلگرام، واتس اپ و همه برنامه ها - قفل حرفه ای برای دستگاه اندرویدی شما - با امکان مخفی شدن و جلوگیری از Unisntall شدن
--آموزش ایجاد برنامه های چند زبانه در WPF
-BeRMOoDA File Encrypter-open source-using WPF, C# and MVVM Pattern
-نمونه برنامه ساده و کامل با الگوی MVVM برای کار با دیتابیس با استفاده از Entity Framework در WPF
-WPFMessageBox فارسی/انگلیسی - با قابلیت تغییر Skin
می توانی پس از کشیدن بر یک پنل با استفاده از تابع
DrawtoBitmap
آنرا در یک عکس بنویسی و به عنوان عکس پس زمینه در فرمت قرار بدی
روش بهتری نداره یعنی؟؟؟
قفل مخفی تلگرام، واتس اپ و همه برنامه ها - قفل حرفه ای برای دستگاه اندرویدی شما - با امکان مخفی شدن و جلوگیری از Unisntall شدن
--آموزش ایجاد برنامه های چند زبانه در WPF
-BeRMOoDA File Encrypter-open source-using WPF, C# and MVVM Pattern
-نمونه برنامه ساده و کامل با الگوی MVVM برای کار با دیتابیس با استفاده از Entity Framework در WPF
-WPFMessageBox فارسی/انگلیسی - با قابلیت تغییر Skin
سلام
من یه زمانی یه برنامه گرافیکی برای شبیه سازی گیت های منطقی تو VC++ نوشته بودم همین مشکل رو داشت اما از راه (های) زیر مشکل رو حل کردم:
1- در روش اول که ناشیانه بود تمام ترسیمات گرافیکی صفحه رو در یک آرایه نگهداری می کردم و هر زمان رویداد OnPaint اتقاق می افتاد در OnPaint تابعی رو صدا می زدم و در این تابع تمامی محتویات آرایه ام رو از نو رو صفحه ترسیم می کردم .
2- در روش دوم که خیلی مفید تر بود تمام فعالیت های گرافیکی کاربر رو Serialize می کردم و باز هم در رویداد OnPaint از اون برای ترسیم مجدد استفاده می کردم .
میشه بیشتر توضیح بدین ؟نوشته شده توسط MH2538
.
تستش کردم ٬ رویداد Paint در +GDI دقیقا مثل خصوصیت autoredraw در GDI کار میکنه با این تفاوت که در اونجا فقط این خصوصیت را True میکردیم ولی در اینجا کد مربوطه را در این رویداد مینویسیم.نوشته شده توسط dot_net_lover2
using System.Drawing.Drawing2D;
privatevoid Form1_Paint(object sender, System.Windows.Forms.PaintEventArgs e)
{
Graphics myGraphic = this.CreateGraphics();
Pen myPen = new Pen(Color.Red,2);
myGraphic.DrawLine(myPen,0,0,this.Width,this.Height);
}
man roo evente Paint emtehan kardam dorost kar mikone hich moshkeliam nadashte ta hala!!
قفل مخفی تلگرام، واتس اپ و همه برنامه ها - قفل حرفه ای برای دستگاه اندرویدی شما - با امکان مخفی شدن و جلوگیری از Unisntall شدن
--آموزش ایجاد برنامه های چند زبانه در WPF
-BeRMOoDA File Encrypter-open source-using WPF, C# and MVVM Pattern
-نمونه برنامه ساده و کامل با الگوی MVVM برای کار با دیتابیس با استفاده از Entity Framework در WPF
-WPFMessageBox فارسی/انگلیسی - با قابلیت تغییر Skin
متاسفانه برای من رویداد OnPaint درست کار نمی کنه. راه دیگه ای سراغ ندارید؟
ببینید رویداد onpaint زمانی اتفاق میفته که تابعthis.Refresh()رو فراخونی کنید
و برای رسم هم از e.Graphics استفاده میکنی نه از CreateGraphis
امیدوارم حل بشه با اینا
قفل مخفی تلگرام، واتس اپ و همه برنامه ها - قفل حرفه ای برای دستگاه اندرویدی شما - با امکان مخفی شدن و جلوگیری از Unisntall شدن
--آموزش ایجاد برنامه های چند زبانه در WPF
-BeRMOoDA File Encrypter-open source-using WPF, C# and MVVM Pattern
-نمونه برنامه ساده و کامل با الگوی MVVM برای کار با دیتابیس با استفاده از Entity Framework در WPF
-WPFMessageBox فارسی/انگلیسی - با قابلیت تغییر Skin
اولا که علاوه بر Paint Eventدر Event های Validated ,Activatedهم کد خودت رو بنویس
نکته: بعد از اینکه روی فرم خودت چیزی کشیدی در این توابع از تابع Update برای فرم استفاده کن
فکر کنم مشکلت حل بشه ،اگه نشد بگو