سلام
من با این کد یک بیضی روی فرم میکشم
SolidBrush mySolidBrush = new SolidBrush(Color.Red);
myGraphics.DrawEllipse(myPen, 50, 50, 150, 150);
چکار کنم وقتی یه باتن رو زدم بیضی رسم شده روی فرم پاک بشه ؟؟؟
سلام
من با این کد یک بیضی روی فرم میکشم
SolidBrush mySolidBrush = new SolidBrush(Color.Red);
myGraphics.DrawEllipse(myPen, 50, 50, 150, 150);
چکار کنم وقتی یه باتن رو زدم بیضی رسم شده روی فرم پاک بشه ؟؟؟
آخرین ویرایش به وسیله Mahmoud.Afrad : دوشنبه 11 بهمن 1395 در 22:43 عصر
myGraphics.Clear(Color.White);
First,solve the problem then write the code
سلام
ممنون
من دایره رو در یک باتن می کشم
و میخوام با یه باتن دیگه پاک بشه
در باتن دوم که باید پاک بشه myGraphics رو نمیشناسه چکار کنم؟
آبجکت mygraphic رو سراسری تعریف کن و بعد از هر استفاده اون رو حتما Dispose کن وگرنه به تدریج رَم رو پر میکنه
سلام
ممنون
تو رو خدا بگید چطوری؟
سراسری نوشتم
Public myGraphics
نشد
خواهش می کنم بگید
مرسی
یک متغیر bool در سطح کلاس تعریف کنید. در جایی که نیاز به رسم هست این متغیر رو true کنید و در جایی که نیاز نیست false کنید. بعد از تغییر مقدار این متغیر متد Invalidate از دکمه اول رو صدا بزنید. در متد Paint از دکمه اول چک کنید اگر متغیر true بود رسم انجام بشه.
میتونید یک لیست از اشکالی که بایست رسم بشن ایجاد کنید و اون لیست رو رسم کنید که میتونید از نمونه برنامه هایی که شبیه paint مایکروسافت نوشته شده اند استفاده کنید.
متوجه نشدم چکار کنم؟
من تازه با رسم شکل دارم کار میکنم
خواهش میکنم که بدید
سلام
متوجه شدم
اما من توی کلیک یه باتن یک سری کد اجرا می کنم و بعد شکل رو میکشم چند تا خط و دایره
بعد میخوام با زدن یه باتن دیگه کل شکلها پاک شه
اینو نمیدونم چطوری بنویسم که توی باتن پاک کردن بشناسه؟
چرا کسی جواب نمیده؟؟؟
چکار کنم
نمیشه سراسری تعریفش کنم؟
دوست عزیز گفتم که ابجکت رو بصورت سراسری، هم سطح متدهای کلاس تعریف کنید
مثال از چیزی که قبلا گفتم:
یک متغیر bool در سطح کلاس تعریف کنید. در جایی که عمل رسم اعمال میشه (باتن2) برای اجرای عمل رسم متغیر رو true و با متد Invalidate رسم مجدد رو فراخوانی کنید و در جایی که باید پاک بشه هم همینطور با مقدار false و رسم مجدد. در این مثال رسم در باتن1 انجام میشه به شرطی که متغیر true باشه.
private bool _draw;
private void button2_Click(object sender, EventArgs e)
{
_draw = true;
button1.Invalidate();
}
private void button3_Click(object sender, EventArgs e)
{
_draw = false;
button1.Invalidate();
}
private void button1_Paint(object sender, PaintEventArgs e)
{
if (_draw)
{
// رسم ...
e.Graphics.Clear(Color.AntiqueWhite);
}
}