日期:2014-05-18 浏览次数:20895 次
private void Form1_Load(object sender, EventArgs e)
{
this.Opacity = 0;
this.timer1.Interval = 100;
this.timer1.Start();
}
private void timer1_Tick(object sender, EventArgs e)//时间间隔事件
{
if (this.Opacity < 100)
{
this.Opacity += 0.05;
}
else
{
this.timer1.Stop();
}
}
------解决方案--------------------
实现一个窗体,在弹出时要慢慢从透明到不透明的特效
private double opacityIncrement = 0.1;
private const int changeInterval = 25;
private Timer timer1;
//表单载入
private void Form1_Load(object sender, System.EventArgs e)
{
timer1=new Timer();
timer1.Interval=changeInterval;
timer1.Tick+=new System.EventHandler(this.timer1_Tick);
this.Opacity=0;
timer1.Start();
}
//渐显事件
private void timer1_Tick(object sender, System.EventArgs e)
{
this.timer1.Stop();
if(this.Opacity<1)
{
this.Opacity=this.Opacity+this.changeInterval;
}
else
{
this.timer1.Enabled=false;
}
this.timer1.Start();
}
------解决方案--------------------
用timer控件可以实现 代码可以参考楼上的
------解决方案--------------------
7楼正解
------解决方案--------------------
借楼主的贴子提问:
不用timer如何实现呢?~直接定义一个线程该怎么弄呢``
------解决方案--------------------
http://www.skinfeature.com
------解决方案--------------------
我试过,这样会导致窗体运行速度变慢。
还有,假如你使用皮肤控件,那么会很麻烦的……
为了这么一点小小美观,而牺牲运行速度,不值!
------解决方案--------------------