我正试图跟着我的光标圈.我不希望任何“小道”落在后面.
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#中使用绘制的圆圈跟随我的鼠标所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)