Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles
(untagged)

Animated Label in C#

0.00/5 (No votes)
11 Mar 2013 1  
This is an animated label in C#.

Sample Image

Introduction

This article explains how to create an animated label in C#. First when I started thinking about creating an animated label in C#, I was confused but finally I got an idea, it's very simple to create, the only logic is we have to take three Label controls to create it. Each Label is placed on another Label, i.e., Label2 is placed on Label1, and Label3 is placed on Label2. Let's take a look at the following image:

Using the code

Set all the label locations, font size, and font style as the same.

label1.Location = label2.Location = label3.Location = new Point(50, 30);
label1.Font = label2.Font = label3.Font = new System.Drawing.Font("Microsoft Sans Serif",
        24F,
        System.Drawing.FontStyle.Bold,
        System.Drawing.GraphicsUnit.Point,
        ((byte)(0)));
//
//giving different color to the middile label(label2)
//
this.label2.ForeColor = System.Drawing.Color.Blue;

Write the above code in the Form_Load event. By giving a different colour to the middle label (label2) the animation will appear. Coming to the animation part, the first label is fixed, it will not move and the text of this label will not change. label2 and label3 do not contain any text, but label2.text will start adding characters (letters, i.e., 'A,n,i,m,a,t,e,d, ,L,a,b,e,l') on the Form1_load event (label2.color is blue). label3 stars adding text to it after 3 letters, adding the label2 (here label1 and label 3 colors are same (i.e., black)).

Comes to the design part, add three Label controls to the form and also add the timer control to the form in the coding part. First take some variables:

string s = "Animated Label";
string[] l;
int i = 0, j = 0;

Place the following code in the timer control's tick event:

//adding the characters one by one to the label2
if (i < s.Length-1)
    label2.Text += l[i].ToString();

//starting the third label after 3 charaters of label2 adding
if (i >=3 && i <= 20)
{
    if (i <=s.Length+2)
        label3.Text += l[j].ToString();
    j++;
}
if (j <=s.Length)
    i++;
else
{
    i = j = 0;
    label3.Text = label2.Text = "";
}

History

  • 11 March 2013: First version.

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here