一个CSharp类代码,让你的窗体显示的更酷(转)
2007-10-31 17:23 码农.KEN 阅读(1575) 评论(1) 编辑 收藏 举报就是这个类,继承它吧!让你的窗体有打开和关闭的时候淡入淡出。很酷的Style,是不是有点像Windows Vista。(注意:继承类窗体初始化属性Opacity=0)
public class OpacityShowStyleForm:System.Windows.Forms.Form
{
System.Single step = 0.05f;
public System.Single Step
{
get { return step; }
set { if (value > 0 && value<=1)step = value; }
}
System.Int32 millisecondstimeout = 30;
public System.Int32 MillsSecondstimeout
{
get { return millisecondstimeout; }
set { if (value > 0)millisecondstimeout = value; }
}
System.Boolean EnableStyle;
protected override void OnShown(EventArgs e)
{
base.OnShown(e);
System.Windows.Forms.Application.DoEvents();
try
{
while (Opacity < 1)
{
try
{
Opacity += Step;
}
catch { }
System.Threading.Thread.Sleep(MillsSecondstimeout);
}
}
catch { }
finally { Opacity = 1; }
}
protected override void OnFormClosing(System.Windows.Forms.FormClosingEventArgs e)
{
base.OnFormClosing(e);
if (!EnableStyle) return;
try
{
//System.Windows.Forms.Application.DoEvents();
while (Opacity > 0)
{
try
{
Opacity -= Step;
}
catch { }
System.Threading.Thread.Sleep(MillsSecondstimeout);
}
}
catch { }
finally { Opacity = 0; }
}
}