实现windows窗口右下角弹窗

1.form1事件



notice frmShowWarning = new notice();//Form1为要弹出的窗体(提示框),

            Point p = new Point(Screen.PrimaryScreen.WorkingArea.Width - frmShowWarning.Width, Screen.PrimaryScreen.WorkingArea.Height);

            frmShowWarning.PointToScreen(p);

            frmShowWarning.Location = p;

            frmShowWarning.Show();

            for (int i = 0; i <= frmShowWarning.Height; i++)

            {

                frmShowWarning.Location = new Point(p.X, p.Y - i);

                Thread.Sleep(10);//将线程沉睡时间调的越小升起的越快 

            }



2.弹窗form

建立timer1、timer2控件

timer1tick事件


timer2.Enabled = false;//停止timer2计时器,

            if (this.Opacity > 0 && this.Opacity <= 1)//开始执行弹出窗渐渐透明 

            {

                this.Opacity = this.Opacity - 0.05;//透明频度0.05 

            }

            if (System.Windows.Forms.Control.MousePosition.X >= this.Location.X && System.Windows.Forms.Control.MousePosition.Y >= this.Location.Y)//每次都判断鼠标是否是在弹出窗上,使用鼠标在屏幕上的坐标跟弹出窗体的屏幕坐标做比较。 

            {

                timer2.Enabled = true;//如果鼠标在弹出窗上的时候,timer2开始工作 

                timer1.Enabled = false;//timer1停止工作。 

            }

            if (this.Opacity == 0)//当透明度==0的时候,关闭弹出窗以释放资源。 

            {

                this.Close();

            }


timer2tick事件


///

            /// 

            /// 判断鼠标是不是还在弹出框上,如果不是则timer1又可以开始工作了 

            /// //////timer1.Enabled = false;//timer1停止工作                  this.Opacity = 1;//弹出窗透明度设置为1,完全不透明                  if (System.Windows.Forms.Control.MousePosition.X < this.Location.X && System.Windows.Forms.Control.MousePosition.Y < this.Location.Y)//如下                  {                    timer1.Enabled = true;                    timer2.Enabled = false;                                }


你可能感兴趣的:(实现windows窗口右下角弹窗)