|
向各位请教,
//代码 1
Graphic g = panel.CreateGraphics();
g.DrawEllipse(new Pen(Color.Red), 50, 50, Math.Abs(MousePoint.X-50), Math.Abs(MousePoint.Y-50));
这会的结果是,鼠标走过的地方都变成了红色,也就是画了很多个圆,但实际上我只要一个。
如果修改一下代码:
//代码2
Graphic g = panel.CreateGraphics();
if(oldPoint != Point.Empty)
g.DrawEllipse(new Pen(panel.BackColor), 50, 50, Math.Abs(MousePoint.X-50), Math.Abs(MousePoint.Y-50));
g.DrawEllipse(new Pen(Color.Red), 50, 50, Math.Abs(MousePoint.X-50), Math.Abs(MousePoint.Y-50));
这样做好象对了,但是如果控件上加了背景画之类的话,效果跟上面差不多了只是颜色不一样,背景画看不到了。
向各位请教,代码要怎么写才好,但是不能在控件的Paint事件里做,
先在此谢谢大家帮忙
|
|