日期:2014-05-18  浏览次数:20958 次

用C#做出像金山毒霸2012SP3.5的关闭窗口的效果
我写了一段代码,不过不是很好,没它的漂亮,大家出出主意。
我的代码如下:
 [code=C#][/code]
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Threading;

namespace 透明渐变效果
{
  public partial class Form1 : Form
  {
  public Form1()
  {
  InitializeComponent();  
   
  }

  private void timer1_Tick(object sender, EventArgs e)//透明渐变效果
  {
  if (true)
  {
  if (Opacity + 0.1 >= 1.0)
  {
  Opacity -= 0.1;
   
  }
  else
  {
  Opacity = 0.0;
  timer1.Stop();

  }

  }
  else
  {

  if(Opacity - 0.1<= 0.0)
  {
  Opacity = 0.0;
  timer1.Stop();


  }
  else
  {
  Opacity -= 0.1;
   
   
  }

  }
  }

  private void toolStripProgressBar1_Click(object sender, EventArgs e)
  {
   
  }

   

  private void timer2_Tick(object sender, EventArgs e)//窗口渐变效果
  {
   
  int d = 45;

  if (true)
  {
  if (Height + d >= 450)
  {  
  Height -= d;
   
  }
  else
  {
  Height = 0;
  timer2.Stop();

  }
  }
  else
  {

  if(Height - d <= 0)
  {
  Height = 0;
  timer1.Stop();

  }
  else
  {
  Height -= d;
  }
  }

   
   
  }

  private void Form1_KeyPress(object sender, KeyPressEventArgs e)
  {
   

  }

  private void Form1_Load(object sender, EventArgs e)
  {
   

  }

  private void button1_Click(object sender, EventArgs e)
  {
   

  Height = 450;
  timer2.Start();//窗口渐变效果
  Opacity = 1.0;
  timer1.Start();//透明度效果
   
   

  }

   

   

   
   
  }
}
timer1和timer2的Interval的值都设为200,点击按钮1就可以看到效果
 我看的金山毒霸是窗体收缩的速度好像是越来越快的,应该收缩速度也是要渐变的,第二个是在关闭窗体的formclosing事件中,但我把代码放过去效果没有出现前窗体就被关闭了。
  


----