在WinForm中偶爾會遇到某些特殊效果:比如某個窗口剛開始的時候是完全透明的,隨著時間的變化 ,窗體逐漸不透明,直至完全不透明。這是本文要探討的窗體效果之一:漸變窗體。
還有一種窗 體效果:有些軟件在某個特定的時間會顯示一個提示窗體,這個窗體不是直接顯示的,而是慢慢從窗口 的最下方向上移動,直至窗體完全顯示就不再移動。當我們點擊“確定”按鈕之後,窗體由 從屏幕上逐漸下移,直至完全從屏幕上完全不顯示。這也是本文討論的窗體效果之一:移動提示信息窗 口。
(一)漸變窗體
每個窗體都有一個Opacity屬性,它的值從0到1之間,表示窗體的透 明效果,0表示完全透明,1表示完全不透明。我們可以動態設置這個值,實現窗體從完全透明到完全不 透明。核心代碼如下:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace ThreadDemo
{
/// <summary>
/// 說明:這是一個漸變窗口,當程序運行的時候,窗體是完全透 明的
/// 隨著時間的變化,窗體逐漸變為完全部透明
/// 作者:周公
/// 原創地址:<A href="http://blog.csdn.net/zhoufoxcn/archive/2008/06/16/2554064.ASPx">http://b log.csdn.Net/zhoufoxcn/archive/2008/06/16/2554064.ASPx</A>
/// </summary>
public partial class TimerForm : Form
{
private double opacity = 0;//記錄當前窗體的透明度
public TimerForm()
{
InitializeComponent();
Opacity = 0;//指定窗體完全透明
}
private void timer1_Tick(object sender, EventArgs e)
{
if (opacity <= 1)
{
opacity = opacity + 0.05;
Opacity = opacity;
}
Console.WriteLine ("Opacity=" + Opacity);
}
}
}