gpt4 book ai didi

c# - 想要一个绘制的圆圈跟随我在 C# 中的鼠标

转载 作者:太空狗 更新时间:2023-10-29 23:57:55 26 4
gpt4 key购买 nike

首先,我是 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();”是错的。它在每次运动后“取消”形状,所以我只能看到它的一瞥。但是,不包括它会导致每个绘制的圆圈都保留在屏幕上。

如何让一个圆圈“优雅地”跟随我的鼠标四处走动,而不是过于跳跃并且不保留所有过去的圆圈?

最佳答案

你可以这样做:

public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void Form1_Paint(object sender, PaintEventArgs e)
{
Point local = this.PointToClient(Cursor.Position);
e.Graphics.DrawEllipse(Pens.Red, local.X-25, local.Y-25, 20, 20);
}

private void Form1_MouseMove(object sender, MouseEventArgs e)
{
Invalidate();
}
}

基本上,在鼠标移动时,无效。在画图上,画出你的圆圈。

关于c# - 想要一个绘制的圆圈跟随我在 C# 中的鼠标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1140076/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com