如何在面板上绘制图像而不重新绘制

本文关键字:绘制 新绘制 图像 | 更新日期: 2023-09-27 18:19:54

我有一个问题:我的应用程序需要在面板上绘制一些图像。

我参加了Paint(..)活动。

但若我移动应用程序窗口,那个么窗体和所有控件都将重新绘制。

我该如何摆脱它?我是否应该更改付款活动?我已经尝试过绘制Load(..)事件,但应用程序没有以这种方式绘制面板。

如何在面板上绘制图像而不重新绘制

应用程序只绘制所使用的部分。因此,每当以前不可见的部分被覆盖时(通过将一个或多个窗口移动到它上面,或者调整大小、最小化/最大化等),丢失的部分都需要重新绘制,这就是你所看到的。

如果不能只重新绘制零件,可以使用位图和PictureBox缓存绘制的数据,这样重新绘制窗口只需要将位图传输到屏幕,而不需要实际重新绘制位图的内容。

在这种情况下,您可以将内容绘制到位图画布,而不是表单画布。

不能去掉Repaint(),因为这是OS的基本函数。

IMO,您担心调整大小后的翻转。为了解决这个问题,你可以像我的回答一样。

您可以使用PictureBoxes而不是绘制它们,顺便说一句,不要忘记启用双缓冲