Mega Code Archive

 
Categories / C# Tutorial / GUI Windows Forms
 

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; }