不需要时间控件这样就可以了
private void Form1_Load(object sender, System.EventArgs e)
for(double d=0.01; d< 1; d+=0.02)
{
System.Threading.Thread.Sleep(1);
Application.DoEvents();
this.Opacity=d;
this.Refresh();
}
private void Form1_Load(object sender, System.EventArgs e)
for(double d=0.01; d< 1; d+=0.02)
{
System.Threading.Thread.Sleep(1);
Application.DoEvents();
this.Opacity=d;
this.Refresh();
}
解决方案 »
- 如何让WriteXml()方法记录datatable的空列?
- 初学了C#,参考
- 调用控制台难题
- 结构体必须要初始化所有变量成员吗?
- C#中,string str = null 与 string str =""有什么区别
- 如何将百分数字符串转换为数值
- 关于在数据库里查询用户是否存在?C#
- 问一个很好有人涉及的问题,如何把自己的程序做成计算机的一个服务?积极参与,来者有分!
- 请问如何将XML节点的内容挂到DataGrid上啊!!!--WinForm,请指点!
- 新手求助: 常量中有换行符是什么意思?
- 急!结果怎样写入字符串,等待
- 准备使用写好的组件dll,该dll文件应该放到工程里哪个文件夹下,谢谢
{
this.Opacity = WinShow ;
WinShow += 0.1 ;
if(WinShow >=1 )
{
timer1.Dispose ();
}
}
frmForm myForm=new frmForm()
frmForm.Opacity=0;
frmForm.show();
for(int i=0;i<100;i++)
{
Application.DoEvents()
frmForm.Opacity=i/100;
}
不过我原来用过sleep(),但sleep的特点是虽然它能阻塞线程,可sleep()后面的语句不管sleep()休眠多长时间,都会照样执行下去阿!
#region ******** 窗体淡入效果函数 ********
private double WinShow = 0;//用于窗口淡入效果的变量 private void FormShow(System.Windows.Forms.Form Curfrm)
{
Curfrm.Opacity = WinShow ;
WinShow += 0.01;
if(WinShow == 1)
{
Curfrm.timerShow.Stop ();
}
} #endregion #region ******** 窗体淡入效果函数调用示例 ********
//实现窗口的淡入效果
private void timerShow_Tick(object sender, System.EventArgs e)
{
//timerShow,这是一个timer控件名称;把timerShow.interval=100就可以了。
FormShow(this);
}
#endregion
System.Threading.Sleep(int)阻塞当前线程,也就起到了延时的作用