PDA

View Full Version : حذف ابجکت گرافیکی از فرم



adel28
پنج شنبه 03 مرداد 1392, 18:51 عصر
دوستان دارم یک ساعت طراحی می کنم.
(برای مثال شکل زیر را در نظر بگیرید)

107923

میخوام هر خط که رسم می شود، خط قبلی اون پاک شود تا حالت ثانیه پیدا کند.
البته بدون استفاده از دستور




graphic.Clear(this.BackColor)



چطور می تونم این کار رو انجام بدم؟

Reza,M
پنج شنبه 03 مرداد 1392, 23:51 عصر
this.refresh();

adel28
جمعه 04 مرداد 1392, 00:19 صبح
this.refresh();

با این کار ثانیه شمار های قبلی پاک می شود ولی دقیقه شما هم پاک می شود.
چه راهی وجود دارد که برای ثانیه شما ، دقیقه شما و ساعت شما بتوانیم این کار را انجام دهیم؟

Reza,M
جمعه 04 مرداد 1392, 00:35 صبح
بزارشون تو 3تایمر مجزا و تو هر کدوم ابتدا this.refresh(); سپس کدهاتو بزار

adel28
جمعه 04 مرداد 1392, 12:49 عصر
بزارشون تو 3تایمر مجزا و تو هر کدوم ابتدا this.refresh(); سپس کدهاتو بزار

با این کاری که شما فرمودید، ثانیه شما و دقیقه و ساعت شما با هم همراه با ثانیه شما حرکت می کنند.

کدهای 3 تایمر بدین صورت هست:




private void TSec_Tick(object sender, EventArgs e)
{
this.Refresh();
M = new System.Drawing.Drawing2D.Matrix();
M.RotateAt(Degree += 6, new Point (this.Width/2, (this.Height/2)+50));
G.Transform = M;
G.DrawLine(P1, new Point((this.Width / 2), (this.Height / 2) + 50), new Point(this.Width-90, (this.Height / 2) + 50));
}






private void TMin_Tick(object sender, EventArgs e)
{

if (Degree % 360 == 270 && Degree != 270) //Min
{
this.Refresh();
M = new System.Drawing.Drawing2D.Matrix();
M.RotateAt(Degree += 6, new Point(this.Width / 2, (this.Height / 2) + 50));
G.Transform = M;
G.DrawLine(P2, new Point((this.Width / 2), (this.Height / 2) + 50), new Point(this.Width - 90, (this.Height / 2) + 50));
}
}






private void THour_Tick(object sender, EventArgs e)
{
if (Degree % 360 == 270 && Degree % 360 == 270)
{
this.Refresh();
M = new System.Drawing.Drawing2D.Matrix();
M.RotateAt(Degree += 6, new Point(this.Width / 2, (this.Height / 2) + 50));
G.Transform = M;
G.DrawLine(P3, new Point((this.Width / 2), (this.Height / 2) + 50), new Point(this.Width - 110, (this.Height / 2) + 50));
}
}



اشکال کار ام کجاست؟

adel28
جمعه 04 مرداد 1392, 15:46 عصر
کسی راه حلی برای مشکل ما پیدا نکرد؟