窗体淡入淡出效果

直接贴代码,实现窗体淡入淡出,原理很简单,就是通过逐渐改变Opacity属性来实现。

public partial class Form1 : Form

    {

        public Form1()

        {

            InitializeComponent();

 

            this.Load += new EventHandler(Form1_Load);

            this.FormClosing += new FormClosingEventHandler(Form1_FormClosing);

        }

 

        void Form1_Load(object sender, EventArgs e)

        {

            this.Opacity = 0;

            Timer tStart = new Timer();

            tStart.Interval = 10;

            tStart.Tick += new EventHandler(tStart_Tick);

            tStart.Start();

        }

 

        void tStart_Tick(object sender, EventArgs e)

        {

            this.Opacity += 0.01;

            if (this.Opacity == 1)

            {

                ((Timer)sender).Stop();

                ((Timer)sender).Dispose();

            }

        }

 

        void Form1_FormClosing(object sender, FormClosingEventArgs e)

        {

            if (this.Opacity > 0)

                e.Cancel = true;

            Timer tClose = new Timer();

            tClose.Interval = 10;

            tClose.Tick += new EventHandler(tClose_Tick);

            tClose.Start();

        }

 

        void tClose_Tick(object sender, EventArgs e)

        {

            this.Opacity -= 0.01;

            if (this.Opacity <= 0)

            {

                ((Timer)sender).Stop();

                this.Close();

            }

        }

 

        private void lbClose_Click(object sender, EventArgs e)

        {

            this.Close();

        }

    }

你可能感兴趣的:(WinForm积累,timer,object,class)