Windows窗体拖动并最小化问题

时间:2015-05-18 14:37:58

标签: c# winforms windows-10

这基本上就是当我拖动窗口时发生的情况,当你最小化窗口并且一切都变成空白时出现了类似的问题,但我通过捕获最小化事件并强制它更新所有内容来掩盖它。

如果不从头开始重写整个事情,我能做些什么吗?我不知道要分享哪部分代码,因为我不知道可能导致它的原因。

enter image description here

PS:这是Windows 10上的正常winforms。

1 个答案:

答案 0 :(得分:1)

您在评论中提到您在Control.CreateGraphics事件之外使用Paint绘制控件。这是不好的做法,因为窗口的内容可能由于多种原因而需要刷新。例如,在窗口被另一个窗口暂时遮挡后,将触发重绘以重绘已覆盖的区域。但是,由于您没有在Paint事件中进行绘制,因此当控件使用其默认内容(基本上是其背景颜色)重绘自身时,使用Control.CreateGraphics绘制的任何内容都将被删除。

我建议在您绘制的任何控件上添加Paint事件处理程序,并使用通过Graphics传入的提供的PaintEventArgs对象在该处理程序中绘制图形。在绘制背景后立即触发此事件,因此无论您绘制什么内容都会在此之上。