用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事件中,但我把代码放过去效果没有出现前窗体就被关闭了。
----