-
視窗漸現效果主要是增強軟體的使用者體驗。目前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功能實現之軟體更新