Simple Form Fade (C# version)

zinnqu

Using the Load and Unload events of the Forms add these subs to handle a simple fade in and out effect. This is not limited to just one form. The subroutine definition can be added to any global class allowing the use on any form or sub-form.

This is the converted post from my VB.NET Snippet

1,535 Views
About the Author

I am a network engineer that loves to code. I started on the Aquarius systems, and used just about every system until the home brew revolution started. Since then I have been an IT technician that loves to code and fix things that most people can't. This is my way of thanking those who have taught me well. I hope that I can help with any code that is puzzling to the masses.

//Handle Fade in of form
private void Form1_Load(System.Object sender, System.EventArgs e)
{
	fade_in();
}

//Handle Fade Out of form
private void Form1_FormClosing(object sender, System.Windows.Forms.FormClosingEventArgs e)
{
	fade_out();
}

//Fade in
public void fade_in()
{
	for (FadeIn = 0.0; FadeIn <= 1.1; FadeIn += 0.1) {
		this.Opacity = FadeIn;
		this.Refresh();
		System.Threading.Thread.Sleep(100);
	}
}


//Fade out:
public void fade_out()
{
	for (FadeOut = 90; FadeOut >= 10; FadeOut += -10) {
		this.Opacity = FadeOut / 100;
		this.Refresh();
		System.Threading.Thread.Sleep(50);
	}
}

// function to force a form to fade
// credit to Unhdled Exception
private void FadeForm(float TotalSeconds)
{
	if (TotalSeconds == 0) {
		this.Opacity = 1;
		return;
	}

	double then = DateAndTime.Timer;
	double difference = 0;

	//difference is the percentage of the total seconds elapsed
	while (difference < 1) {
		this.Opacity = difference;

		difference = (DateAndTime.Timer - then) / TotalSeconds;
		System.Threading.Thread.Sleep(10);
	}
}
stevanity 4 Posting Whiz in Training

Oh thanks for responding to my request

ddanbe 2,724 Professional Procrastinator Featured Poster

Intresting contribution.

stevanity 4 Posting Whiz in Training

BUt the fade effect isnt smooth. The For Loop is dependent on the processor. So sometimes it is running slowly and sometimes it runs fast.
Any idea to smooth it up?

zinnqu 7 Junior Poster in Training

Change the thread.sleep count to a smaller number, decreasing the number of visible ticks. The sleep command causes a pause effect in the code decreasing this will shorten the pause.

CsharpChico 1 Junior Poster in Training

Alternative: This Alternative will allow you to set the fade effect with the System.Windows.Forms.Timer.Interval value rather than using the Thread.Sleep method for a slightly better performance. On the System.Windows.Forms.FormClosingEvent, it cancels the close and redirects the close event thru the System.Windows.Forms.Timer.TickEvent. There is also a built in ImageHandler that uses List<String>. The ImageHandler has a Base64String added to the first(0 th) position within the list, Then the Image within the ImageHandler returns the first Base64String and converts it to an Image using a System.IO.MemoryStream

public partial class frmSplashScreen : Form
    {
        private IContainer fader = new Container();
        private double FadeInEffect;
        private Timer FadeIn_FadeOut;
        private ImageHandler SplashScreenImage = new ImageHandler();
        private bool FadeIn;        
        private const string SplashImage = "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";
        private bool Closeable;

        public frmSplashScreen()
        {            
            InitializeComponent();
            FadeIn_FadeOut = SplashScreen(fader);
            this.FadeIn_FadeOut.Enabled = true;
            this.BackgroundImage = SplashScreenImage.SplashImage();
            this.FadeIn_FadeOut.Tick += new System.EventHandler(FadeInOut_Tick);
            FadeIn = true;
            this.Opacity = 0;
        }

        private Timer SplashScreen(IContainer container)
        {
            return new Timer(container);
        }

        #region Windows Form Designer generated code

        /// <summary>
        /// Required method for Designer support - do not modify
        /// the contents of this method with the code editor.
        /// </summary>
        private void InitializeComponent()
        {
            this.SuspendLayout();
            // 
            // frmSplashScreen
            // 
            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
            this.BackColor = System.Drawing.Color.White;
            this.ClientSize = new System.Drawing.Size(320, 240);
            this.Name = "frmSplashScreen";
            this.Text = "Form1";
            this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.frmSplashScreen_FormClosing);
            this.ResumeLayout(false);

        }

        #endregion

        internal class ImageHandler : List<string>
        {
            internal ImageHandler()
            {
                this.Add(frmSplashScreen.SplashImage);
            }
            internal protected Image SplashImage()
            {
                return Image.FromStream(new MemoryStream(Convert.FromBase64String(this[0])));               
            }
        }

        protected override void Dispose(bool disposing)
        {
            if (disposing && (fader != null))
            {
                fader.Dispose();
            }
            base.Dispose(disposing);
        }

        

        private void FadeInOut_Tick(object sender, EventArgs e)
        {
            if (FadeIn)
            {
                FadeInEffect += 0.1;
                DoFadeIn();
            }
            else
            {
                FadeInEffect -= 0.1;
                DoFadeOut();
            }
        }

        private void DoFadeOut()
        {
            if (FadeInEffect <= 1.1 && FadeInEffect > 0)
            {
                this.Opacity = FadeInEffect;
                this.Refresh();
            }
            else if (FadeInEffect <= 0)
            {
                Closeable = true;
                Application.Exit();
            }
        }

        private void DoFadeIn()
        {
            if (FadeInEffect <= 1.1)
            {
                this.Opacity = FadeInEffect;
                this.Refresh();
            }
            else
            {
                FadeIn_FadeOut.Enabled = false;
            }
        }

        private void frmSplashScreen_FormClosing(object sender, FormClosingEventArgs e)
        {
            if (!Closeable)
            {
                e.Cancel = true;
                FadeIn = false;
                FadeIn_FadeOut.Enabled = true;
            }
        }        
    }
abelLazm 183 Postaholic

wow a lots of blue line in splash image

CsharpChico 1 Junior Poster in Training

wow a lots of blue line in splash image

yeah that can be taken out and read from a resource file just included this way for the snippet

Be a part of the DaniWeb community

We're a friendly, industry-focused community of 1.21 million developers, IT pros, digital marketers, and technology enthusiasts learning and sharing knowledge.