1. 淡入淡出效果就是设定当前form的Opacity属性,该值从0(透明)到1(不透明)。你用timer控件每隔一段时间加一定的值就可以实现。当然,你已经实现了。
2. 我不理解你的退出是什么意思,是程序完全关闭么?如果是这样的话,当你的form的Opacity属性值等于0的时候,调用Application.Exit()方法彻底关闭程序。
3. 可以这么说,enabled和start基本没有区别。start方法是在Enabled 属性为fasle下用的,Enabled 属性为true,不用start方法定时器照样启动
不需要timer 也可以做.用线程做. private void Form1_Load(object sender, EventArgs e)
{ //窗体默认为半透明状态.通过进度条显示为正常窗体 this.Opacity = 0.2; //设置进度条
this.pbar.Step = 5;
TimerCallback tc = new TimerCallback(setPBar); System.Threading.Timer tm = new System.Threading.Timer(tc, null, 0, 100);
}//实现方法 void setPBar(object oj)
{
int time3; if (this.pbar.Value < 100)
{
//递增进度条
this.pbar.PerformStep();
if (this.Opacity < 1)
{
int time2=10;
time2 += 20; this.Opacity += 0.05;
//获取进度条所用时间
time3 = pbar.MarqueeAnimationSpeed; Lbtext.Text = time2/time3 + "%";
}
}
} // 渐变效果方法 void EixtFrm(object ob)
{
if (this.Opacity > 0.1)
{
this.Opacity -= 0.1;
}
else
{
Application.Exit();
//this.Close();
}
}// 退出事件 也可写做closeing 事件中 private void button1_Click(object sender, EventArgs e)
{
TimerCallback tc = new TimerCallback(EixtFrm); System.Threading.Timer tm = new System.Threading.Timer(tc, null, 0, 100);
}//
你都实现了在后边加上 this.Close()关闭窗口就行了呗。timer.enabled和timer.Start 没什么区别timer1.Start() //启动计时器
timer1.Stop() //停止计时器
timer1.Enabled = True; //启动计时器
timer1.Enabled = False; //停止计时器
MessageBox.Show(timer1.Enabled.ToString()) //可以返回 计时器状态
反编译一下,timer的实现里:
public void Start()
{
this.Enabled = true;
}
public void Stop()
{
this.Enabled = false;
}