
{filelink=16667}
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
public class AnimationDoubleBuffer : Form
{
/**
* Animation des objets avec DoubleBuffered
*
*
*
*
* */
private int taille = 0;
private bool aRetrecir = true;
private System.Windows.Forms.Timer monTimer;
private IContainer components;
private System.Windows.Forms.CheckBox checkBoxEtat;
public AnimationDoubleBuffer()
{
InitializeComponent();
monTimer.Start();
}
private void tmrRefresh_Tick(object sender, System.EventArgs e)
{
if (aRetrecir)
taille--;
else
taille++;
if (taille > this.Width/2)
aRetrecir = true;
else if (taille < 1)
aRetrecir = false;
this.Invalidate();
}
private void DoubleBuffering_Paint(object sender, System.Windows.Forms.PaintEventArgs e)
{
this.DoubleBuffered = checkBoxEtat.Checked;
Graphics g = e.Graphics;
g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
g.DrawEllipse(new Pen(Color.Black, 10), 50, 50, 50 + taille, 50 + taille);
}
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
this.monTimer = new System.Windows.Forms.Timer(this.components);
this.checkBoxEtat = new System.Windows.Forms.CheckBox();
this.SuspendLayout();
//
// monTimer
//
this.monTimer.Interval = 1;
this.monTimer.Tick += new System.EventHandler(this.tmrRefresh_Tick);
//
// checkBoxEtat
//
this.checkBoxEtat.BackColor = System.Drawing.Color.DarkSalmon;
this.checkBoxEtat.Location = new System.Drawing.Point(12, 12);
this.checkBoxEtat.Name = "checkBoxEtat";
this.checkBoxEtat.Size = new System.Drawing.Size(336, 16);
this.checkBoxEtat.TabIndex = 2;
this.checkBoxEtat.Text = "Utiliser le Double Buffering";
this.checkBoxEtat.UseVisualStyleBackColor = false;
//
// AnimationDoubleBuffer
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(422, 373);
this.Controls.Add(this.checkBoxEtat);
this.Name = "AnimationDoubleBuffer";
this.Text = "Animation Double Buffer";
this.Paint += new System.Windows.Forms.PaintEventHandler(this.DoubleBuffering_Paint);
this.ResumeLayout(false);
}
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.Run(new AnimationDoubleBuffer());
}
}