C#窗体应用程序之Paint事件

来源:互联网 发布:社会数据调查网站 编辑:程序博客网 时间:2024/06/10 00:20



          和MFC一样是事件驱动,并且有很多可以使用的组件,timer等。

         在面板的属性栏的事件框中有paint事件选项卡,双击添加事件处理代码。

private void Form1_Paint(object sender, PaintEventArgs e)        {            //窗体被绘制的时候,会执行当前事件(绘制背景)            //SingleObject.GetSingle().BG.Draw(e.Graphics);这一句也可实现绘制背景,但是窗体直接操作类函数不合适           SingleObject.GetSingle().DrawGameobject(e.Graphics);//我们通过单例来实现与窗体的交互        }

           这里我们是用单例类来将所有的对象的绘制函数统一写在一块儿。


          在飞机大战项目中,我们让背景不断轮番向下移动,来实现背景一直往下走的效果。但可能会产生闪烁的情况,这是我们双击窗体进入Form1_Load函数方法

体中。添加代码:

private void Form1_Load(object sender, EventArgs e)        {            //将图像绘制到缓冲区,减少闪烁            this.SetStyle(ControlStyles.OptimizedDoubleBuffer |                ControlStyles.ResizeRedraw | ControlStyles.AllPaintingInWmPaint, true);        }

0 0
原创粉丝点击