今天无意将一段绘图代码 写在form_load事件了,结果不能显示绘图。(代码:Graphics g = this.CreateGraphics();Pen pen = new Pen(Color.Red, 10);Rectangle r = new Rectangle(70, 20, 100, 60);g.DrawEllipse(pen, r);。经过查询得知:Form_Load事件是在窗体首次显示时发生的。也就是说,在Form_Load过程中,这个Form里所有需要在屏幕上呈现的东西都还没开始绘制,所以你在Load中去绘制东西是看不到的。在Windows系统中,窗体的Load事件执行完毕后,系统才开始绘制窗体并显示在屏幕上。
其实,只有当Form_Load方法执行完后,我们才能看见窗体。当Form_Paint方法执行完后才显示出我们想要绘制的完整的图形。并且窗体Repaint后,窗体的Graphics就被清空了。每次刷新的时候都需要绘制,在窗体Load也会刷新。