C#使用onPaint和计时器

时间:2015-10-04 10:24:01

标签: c# background draw paint onpaint

我在timer_tick上使用onPaint和Invalidate()进行重绘,如何绘制一个不应该重新绘制的背景?

我尝试使用pictureBoxes,但是他们似乎在onPaint上绘制,我也无法使用透明图像。

1 个答案:

答案 0 :(得分:0)

Windows Forms库对于这些事情非常糟糕。因为没有任何显示数据被缓冲,所以每次重绘(如果足够慢)都是可见的并且是华而不实的。通常,透明图像不能像您希望的那样工作。我不知道你最终想要完成什么,但如果你只是在玩图形,我建议你使用类似Win2D API的东西。 Win2D API在使用方面与onPaint事件非常相似。

我的意思是,从理论上讲,你可以使用Regions来使事情变得透明,但是它们不能使事情变得像50%透明但只能完全透明。几年前我尝试使用Windows窗体制作精美的图形,我真的不建议这样做。