【发布时间】:2021-04-15 19:22:17
【问题描述】:
我创建了绘画应用程序,我可以在面板上绘画,但是,只有当我最小化窗口(表单)然后再次打开它时,才会显示更改(我绘画的内容)。我想马上看看我画了什么。
重现步骤:
Panel panel = new Panel();
//adding panel to view
Bitmap bitmap = new Bitmap(width, height);
Graphics g = Graphics.FromImage(bitmap);
panel.BackgroundImage = bitmap;
//painting something on g
【问题讨论】:
-
控件不知道您更改了位图。添加
panel.Invalidate(); -
@Hans 这是刷新它的正确方法吗?因为现在每次我快速在它上面画东西时它都会重新绘制,它有点闪烁。
-
这是正确的方法。面板不是一个很好的选择,使用 PictureBox 来获得双缓冲。如果你需要一个面板来支持滚动,那么do this.