Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#使用带计时器的onPaint_C#_Background_Draw_Paint_Onpaint - Fatal编程技术网

C#使用带计时器的onPaint

C#使用带计时器的onPaint,c#,background,draw,paint,onpaint,C#,Background,Draw,Paint,Onpaint,我在计时器上使用onPaint with Invalidate()进行重新绘制,如何绘制一次不应与其余部分一起重新绘制的背景 我试着使用PictureBox,但它们似乎在onPaint上绘制,而且我不能使用透明图像 Windows窗体库对于这样的事情非常糟糕。因为没有任何显示数据被缓冲,所以每次重新绘制(如果足够慢)都是可见的和浮华的。透明图像通常不会像您希望的那样工作。我不知道你最终想要完成什么,但如果你只是在玩图形,我建议你使用类似的工具。Win2D API在使用方面与onPaint事件非常

我在计时器上使用onPaint with Invalidate()进行重新绘制,如何绘制一次不应与其余部分一起重新绘制的背景


我试着使用PictureBox,但它们似乎在onPaint上绘制,而且我不能使用透明图像

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


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

您能展示一些代码吗?为什么不希望绘制背景?当系统需要重新喷漆时,它将被销毁!-不过,您可以将背景图像设置为不变的背景另外:当你谈论透明度时,完全不清楚你的目标是什么。请解释得更清楚些,否则我们真的无法提供帮助或建议。。!由于onPaint每10毫秒刷新一次,我希望有一种方法可以只绘制一次某些内容(如背景)以减少负载。您可以始终将doublebuffered设置为true,但不需要知道更多的建议futile@georch正如TaW所说,我将doublebuffered设置为true,我必须说它非常流畅。Monogame可能有任何功能吗?