winform绘图之OnPaint事件

 时间:2026-02-14 13:46:44

1、首先小编这里创建一个winform程序,然后在窗口中有一个按钮,点击按钮在左侧画出一个绿色的长方形,为了防止正方形因为窗口失去焦点或者放大缩小等事件消失,这里实现窗口的Paint事件,如下图:

winform绘图之OnPaint事件

2、从下图的程序代码中可以看出,点击按钮是在窗口的左侧画出一个绿色的长方形,然后在窗体执行Paint事件的时候,在窗口的左侧画出一个紫色的长方形,如下图:

winform绘图之OnPaint事件

3、运行程序可以看到鼠标点击事件以及窗体的Paint事件正常运行,如下图:

winform绘图之OnPaint事件

winform绘图之OnPaint事件

4、接下来小编在程序中重写OnPaint事件,并且在OnPaint事件中不实现任何功能,如下图:

winform绘图之OnPaint事件

5、运行程序可以发现,按钮事件正常,但是Paint事件却不执行了,如下图:

winform绘图之OnPaint事件

6、接下来,在重写的OnPaint事件中加入代码base.OnPaint(),如下图:

winform绘图之OnPaint事件

7、运行程序可以看到,按钮点击事件以及Paint事件都又正常执行了。

winform绘图之OnPaint事件

8、综上所述,程序在执行的时候,窗体发生改变,如被其他窗体覆盖或者放大缩小时,程序会调OnPaint事件,如果OnPaint事件中有代码base.OnPaint(),程序会继续调用程序中的Paint事件,否则只是执行OnPaint方法,所以OnPaint具有优先性质。

  • VS2013如何解决调试时"无法启动程序 拒绝访问"
  • matlab中创建线条动画
  • js如何删除对象
  • labview中3种计时器的差别和分析
  • LabVIEW-生产者消费者
  • 热门搜索
    爆笑图片大全 李玲玉个人资料简介 女孩英文名字大全 抗日战争电视剧大全 聊天表情大全 羊肾的做法大全 手机网址大全 小米5怎么样 贾谊简介 恭王府简介