1.起因
最近在结合自己书本上的知识开发一个winform程序,但是在一些情况下,winform控件上用Graphics画的图莫名消失。
2.寻找原因
如图,该控件叫drawPurlinPanel,我会在该控件上用Graphics类画图。
但是,在之前的使用中,有时候是按tab键,有时候是enter键,或者程序被最小化等等。我在该控件上画的图都会消失。在不懈的查找大牛文章的过程中,我发现了这之中有一个关键事件起到了作用——paint事件。
在该控件的paint事件设置断点时,会发现在程序的开始以及在上述的情况中,paint事件都会被触发,这时如果方法里面没有相关操作,那么在该控件用Graphics类画的图就“消失”。
3.结论
每在一个控件上用Graphics类画图时,争取都考虑添加上paint事件,要不然影响体验。如图