EyesBaby功能实现之窗口渐现效果

王朝学院·作者佚名  2010-01-14
窄屏简体版  字體: |||超大  

窗口渐现效果主要是增强软件的用户体验。目前winform程序在Vista/Win7上已经自动具备了该功能,所以只有在XP等早期版本系统上才有勇武之地。

说说具体实现吧:-)

1.利用Timer控件控制窗体的透明度(Opacity)。

/// <summary>

/// 显示窗体

/// </summary>

private void ShowWin()

{

this.tsmiShowHide.Text = "隐藏";

this.SetWindowState();

this.Opacity = 0;

// 打开窗口渐现效果

Timer tStart = new Timer();

tStart.Interval = 100;

tStart.Tick += new EventHandler(tStart_Tick);

tStart.Start();

}

/// <summary>

/// 隐藏窗体

/// </summary>

private void HideWin()

{

this.tsmiShowHide.Text = "显示";

// 关闭窗口渐现效果

Timer tClose = new Timer();

tClose.Interval = 100;

tClose.Tick += new EventHandler(tClose_Tick);

tClose.Start();

}

/// <summary>

/// 关闭窗体渐现效果

/// </summary>

/// <param name="sender"></param>

/// <param name="e"></param>

void tClose_Tick(object sender, EventArgs e)

{

// 每一次执行透明度减少10%

this.Opacity -= 0.1;

if (this.Opacity <= 0)

{

((Timer)sender).Stop();

}

}

/// <summary>

/// 打开窗体渐现效果

/// </summary>

/// <param name="sender"></param>

/// <param name="e"></param>

void tStart_Tick(object sender, EventArgs e)

{

// 每一次执行透明度增加10%

this.Opacity += 0.1;

if (this.Opacity == 1)

{

((Timer)sender).Stop();

this.Focus();

}

}

渐现效果用在EyesBaby上也是所谓小试牛刀吧。

总结

现在EyesBaby功能实现部分写到这,就到此告一小节了。前面写了一部分,其实技术含量并没有多少。本人技术水平一斑,写出来东西大部分还只能是一种自我记录的方式,并不能起到言传身授的境界,望各位海量!需要学习的地方很多,也有博友提了不少好的建议。比如自动更新部分。在此拜谢了!

将来希望能多开发些对我们工作/生活有帮助的个人软件(本人信仰“技术改变生活”),还希望大家多多提供建议和技术帮助!

下载地址:http://files.cnblogs.com/yizhuqing/EyesBabySetup10.zip

我的第一款实用工具-眼保程序(EyesBaby)

EyesBaby1.0使用帮助文档

EyesBaby功能实现之窗口拖拽与缩放功能

EyesBaby功能实现之图片控件上添加字符

EyesBaby功能实现之Windows前景色调节器

EyesBaby功能实现之软件更新

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航