View Full Version : سوال: رسم دایره و انتقال آن
sabzbahareh
دوشنبه 17 آذر 1393, 01:43 صبح
سلام. میخواستم برنامه ای بنویسم که یه دایره بکشه بعد به یه قسمت دیگه از صفحه انتقالش بده... کسی هست کمکم کنه؟
ghossein
دوشنبه 17 آذر 1393, 11:46 صبح
سلام
رسم دایره در هر نقطه از فرم :
private void Form1_MouseMove(object sender, MouseEventArgs e)
{
Graphics g = this.CreateGraphics();
g.Clear(SystemColors.Control);
Rectangle rec = new Rectangle(e.X, e.Y, 80, 80);
g.DrawEllipse(System.Drawing.Pens.Black, rec);
g.Dispose();
}
sabzbahareh
سه شنبه 18 آذر 1393, 11:56 صبح
سلام
رسم دایره در هر نقطه از فرم :
private void Form1_MouseMove(object sender, MouseEventArgs e)
{
Graphics g = this.CreateGraphics();
g.Clear(SystemColors.Control);
Rectangle rec = new Rectangle(e.X, e.Y, 80, 80);
g.DrawEllipse(System.Drawing.Pens.Black, rec);
g.Dispose();
}
سلام. ممنون از جوابتون. این برنامه با موس انتقال میده، درسته؟
من میخوام با خود برنامه انتقالش بده. مثل یه توپ که بالا و پایین میره
ghossein
سه شنبه 18 آذر 1393, 22:41 عصر
سلام
من درست متوجه نمی شوم ، شما می خواهید خودتون دستی مختصات رسم دایره رو بدید. فکر نکنم این کار سخت باشه.
ولی اگه می خواهید مثل توپ بالا و پایین بره :
private void timer1_Tick(object sender, EventArgs e)
{
if (this.Width > i + 80 && this.Height > j + 80)
{
i = i + 10;
j = j + 10;
if (timer1.Interval > 1) timer1.Interval = timer1.Interval - 1;
Graphics g = this.CreateGraphics();
g.Clear(SystemColors.Control);
Rectangle rec = new Rectangle(i, j, 40, 40);
g.DrawEllipse(System.Drawing.Pens.Black, rec);
g.Dispose();
}
else
{
timer2.Enabled = true;
timer1.Enabled = false;
}
}
private void timer2_Tick(object sender, EventArgs e)
{
if((0 < i) && ( 0 < j ))
{
i = i - 10;
j = j - 10;
if (timer2.Interval > 1) timer2.Interval = timer2.Interval - 1;
Graphics g = this.CreateGraphics();
g.Clear(SystemColors.Control);
Rectangle rec = new Rectangle(i, j, 40, 40);
g.DrawEllipse(System.Drawing.Pens.Black, rec);
g.Dispose();
}
else
{
timer1.Enabled = true;
timer2.Enabled = false;
}
}
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.