我正在使用自定义控件开发Window CE应用程序。
在自定义控件中,我绘制了三个圆圈(一个圆圈填充),一个箭头一个文本和一个手动。它就像是Photoshop中的角度选择器。
现在,当我移动光标时,完全控制重绘并导致闪烁效果。
我尝试先将控件绘制到位图,然后在最后使用e.drawimage()方法绘制此位图,但同样闪烁问题。
现在我只有2个形状(箭头+线)需要重绘,其他形状具有静态行为。
所以我的问题是有没有办法选择性地绘制形状保持其他完整。首先绘制所有形状,但只需绘制箭头和线条,然后将所有其他形状保持在原位。
这就是我在
中所做的onPiant覆盖方法。
using (SolidBrush inLineFill = new SolidBrush(circleColor))
{
Point[] polyPoints = ...;
e.Graphics.DrawLine(....);
e.Graphics.FillPolygon(inLineFill, polyPoints);
if (firstTime)
{
e.Graphics.DrawEllipse(...);
e.Graphics.DrawEllipse(...);
e.Graphics.DrawEllipse(...);
e.Graphics.FillEllipse(...);
e.Graphics.DrawString(...);
firstTime = false ;
}
}
我第一次看到完全控制但在此之后我只看到带箭头的箭头。
答案 0 :(得分:2)
您可以采取一些措施来改善行为。