Double Buffering : Double Buffering : GUI Windows Forms C# Examples


C# Examples » GUI Windows Forms » Double Buffering »

 

Double Buffering








    
using  System;
using  System.Drawing;
using  System.Windows.Forms;
using  System.Drawing.Drawing2D;

public  class  DoubleBuffering  :  Form
{
        public  DoubleBuffering()
        {
                InitializeComponent();
                image  =  Image.FromFile("YourFile.bmp");

                tmrRefresh.Start();

        }
        private  int  imageSize  =  0;
        private  Image  image;

        private  void  tmrRefresh_Tick(object  sender,  EventArgs  e)
        {
                imageSize++;
                this.Invalidate();
        }

        private  void  DoubleBuffering_Paint(object  sender,  PaintEventArgs  e)
        {
                Graphics  g;
                g  =  e.Graphics;
                g.SmoothingMode  =  SmoothingMode.HighQuality;
                g.FillRectangle(Brushes.Yellow,  new  Rectangle(new  Point(0,  0),this.ClientSize));
                g.DrawImage(image,  50,  50,  50  +  imageSize,  50  +  imageSize);
        }

        private  void  chkUseDoubleBuffering_CheckedChanged(object  sender,  EventArgs  e)
        {
                this.DoubleBuffered  =  chkUseDoubleBuffering.Checked;
        }
        [STAThread]
        static  void  Main()
        {
                Application.EnableVisualStyles();
                Application.SetCompatibleTextRenderingDefault(false);
                Application.Run(new  DoubleBuffering());
        }
        private  System.ComponentModel.IContainer  components  =  null;

        private  void  InitializeComponent()
        {
                this.components  =  new  System.ComponentModel.Container();
                this.tmrRefresh  =  new  System.Windows.Forms.Timer(this.components);
                this.chkUseDoubleBuffering  =  new  System.Windows.Forms.CheckBox();
                this.SuspendLayout();
                //  
                //  tmrRefresh
                //  
                this.tmrRefresh.Tick  +=  new  System.EventHandler(this.tmrRefresh_Tick);
                //  
                //  chkUseDoubleBuffering
                //  
                this.chkUseDoubleBuffering.AutoSize  =  true;
                this.chkUseDoubleBuffering.Location  =  new  System.Drawing.Point(12,  3);
                this.chkUseDoubleBuffering.Size  =  new  System.Drawing.Size(127,  17);
                this.chkUseDoubleBuffering.TabIndex  =  0;
                this.chkUseDoubleBuffering.Text  =  "Use  Double  Buffering";
                this.chkUseDoubleBuffering.UseVisualStyleBackColor  =  true;
                this.chkUseDoubleBuffering.CheckedChanged  +=  new  System.EventHandler(this.chkUseDoubleBuffering_CheckedChanged);
                //  
                this.AutoScaleDimensions  =  new  System.Drawing.SizeF(6F,  13F);
                this.AutoScaleMode  =  System.Windows.Forms.AutoScaleMode.Font;
                this.ClientSize  =  new  System.Drawing.Size(299,  277);
                this.Controls.Add(this.chkUseDoubleBuffering);
                this.Text  =  "Double  Buffering";
                this.Paint  +=  new  System.Windows.Forms.PaintEventHandler(this.DoubleBuffering_Paint);
                this.ResumeLayout(false);
                this.PerformLayout();
        }
        private  System.Windows.Forms.Timer  tmrRefresh;
        private  System.Windows.Forms.CheckBox  chkUseDoubleBuffering;

}
    
   
  
   




HTML code for linking to this page:

Follow Navioo On Twitter

C# Examples

 Navioo GUI Windows Forms
» Double Buffering