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);//將線程沉睡時(shí)間調(diào)的越小升起的越快?
? ? ? ? ? ? }
2.彈窗form
建立timer1、timer2控件
timer1tick事件
timer2.Enabled = false;//停止timer2計(jì)時(shí)器罗心,
? ? ? ? ? ? if (this.Opacity > 0 && this.Opacity <= 1)//開(kāi)始執(zhí)行彈出窗漸漸透明?
? ? ? ? ? ? {
? ? ? ? ? ? ? ? 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)//每次都判斷鼠標(biāo)是否是在彈出窗上,使用鼠標(biāo)在屏幕上的坐標(biāo)跟彈出窗體的屏幕坐標(biāo)做比較强重。?
? ? ? ? ? ? {
? ? ? ? ? ? ? ? timer2.Enabled = true;//如果鼠標(biāo)在彈出窗上的時(shí)候礼旅,timer2開(kāi)始工作?
? ? ? ? ? ? ? ? timer1.Enabled = false;//timer1停止工作。?
? ? ? ? ? ? }
? ? ? ? ? ? if (this.Opacity == 0)//當(dāng)透明度==0的時(shí)候俐东,關(guān)閉彈出窗以釋放資源跌穗。?
? ? ? ? ? ? {
? ? ? ? ? ? ? ? this.Close();
? ? ? ? ? ? }
timer2tick事件
///
? ? ? ? ? ? ///?
? ? ? ? ? ? /// 判斷鼠標(biāo)是不是還在彈出框上,如果不是則timer1又可以開(kāi)始工作了?
? ? ? ? ? ? /// //////timer1.Enabled = false;//timer1停止工作? ? ? ? ? ? ? ? ? this.Opacity = 1;//彈出窗透明度設(shè)置為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;? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? }