窗体淡入淡出效果

    技术2022-05-19  19

    直接贴代码,实现窗体淡入淡出,原理很简单,就是通过逐渐改变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();

            }

        }


    最新回复(0)