首先,我是一个真正的开始在C#所以请温柔。想要一个绘制的圆圈跟随我的鼠标在C#
我想要一个圆形跟随我的光标。我不想让任何“小径”落后。
private void Form1_MouseMove(object sender, MouseEventArgs e)
{
drawCircle(e.X, e.Y);
}
private void drawCircle(int x, int y)
{
Pen skyBluePen = new Pen(Brushes.DeepSkyBlue);
Graphics graphics = CreateGraphics();
graphics.DrawEllipse(
skyBluePen, x - 150, y - 150, 300, 300);
graphics.Dispose();
this.Invalidate();
}
这工作正常,因为它绘制它,并以每个鼠标移动的鼠标为中心。但是,“this.Invalidate();”是错的。它在每次运动之后都会“解开”形状,所以我只能看到它的一瞥。但是,不包括它会导致每个绘制的圆圈都保留在屏幕上。
我该如何获得一个圆圈,以“优雅地”跟随我的鼠标周围,而不会太过激动,并且不会保留所有过去的圆圈?
您可以添加“this.DoubleBuffered = true;”作为ctor的一部分,它也可能有助于一些闪烁。 – 2009-07-16 20:42:51
这就是我需要的一切吗?我粘贴了它,它实际上并没有做任何事情,当我跑,除了调出窗体/窗口... – cksubs 2009-07-16 20:53:40