国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

C#實(shí)現(xiàn)winform漸變效果的方法

2020-01-24 02:21:16
字體:
供稿:網(wǎng)友

本文實(shí)例實(shí)現(xiàn)一個(gè)啟動(dòng)畫面,采用了顯示Aform,過一段時(shí)間,隱藏這個(gè)Aform,showdialog下一個(gè)Bform,closeAForm這個(gè)方法來做了,不知道大家有沒有更好的辦法。
設(shè)定程序從Aform啟動(dòng):

復(fù)制代碼 代碼如下:
static void Main() 

  Application.EnableVisualStyles(); 
  Application.SetCompatibleTextRenderingDefault(false); 
  Application.Run(new Aform()); 
}

AForm中定義如下timer:

StartWindowShowTime    HideWindowStart    HideWindowSpeed   ShowWindowStart

定義了他們的屬性:

StartWindowShowTime(顯示Aform的時(shí)間長度) Enabled=True Interval=5000 (100=1秒)
HideWindowStart (開始隱藏Aform的過程) Enabled=True Interval=4500
HideWindowSpeed (隱藏Aform的漸變間隔) Enabled=False Interval=10
ShowWindowStart  (顯示AForm的漸變間隔) Enabled=True Interval=10

下面開始定義這些timer的Tick 在Events里面可以直接填寫,timer就這一個(gè),也可以后臺寫,不過我覺得在這里填寫比較方便,而且可以自動(dòng)生成方法的聲明,不用找了。偷懶一下。

StartWindowShowTime Tick:ShowMainwindow
HideWindowStart  Tick:HideWindow
HideWindowSpeed  Tick:HideWindowSpeedStart
ShowWindowStart Tick:ShowWindow

好了,到這里我要說Windows Form 實(shí)現(xiàn)透明效果,漸變效果,淡入淡出效果的實(shí)現(xiàn)最重要一員了,那就是Form屬性里的Opacity,用的就是這個(gè)。我考證過,只有2000以上的系統(tǒng)支持這個(gè)屬性。

我們先將Aform的Opacity設(shè)置成0,好了開始寫Aform的代碼

復(fù)制代碼 代碼如下:
public partial class Aform: Form 

       public Form() 
       { 
           InitializeComponent();  
       } 
 
       private void Start_Load(object sender, EventArgs e) 
       { 
           StartWindowShowTime.Start(); 
           HideWindowStart.Start(); 
       } 
 
       private void ShowMainwindow(object sender, EventArgs e) 
       { 
           Bform showmainwindows = new Bform();             
           this.Hide(); 
           StartWindowShowTime.Stop(); 
           HideWindowStart.Stop(); 
           HideWindowSpeed.Stop(); 
           showmainwindows.ShowDialog(); 
           this.Close(); 
       } 
 
       private void HideWindow(object sender, EventArgs e) 
       { 
           HideWindowSpeed.Start(); 
       } 
 
       private void HideWindowSpeedStart(object sender, EventArgs e) 
       { 
           this.Opacity = this.Opacity - 0.02; 
       } 
 
       private void ShowWindow(object sender, EventArgs e) 
       { 
           if (this.Opacity == 1) 
           { 
               ShowWindowStart.Stop(); 
           } 
           else 
           { 
               this.Opacity = this.Opacity + 0.02; 
           } 
       } 
}

好了,這個(gè)時(shí)候大家運(yùn)行看看,可以看到有淡入淡出效果。
我本來把Opacity每次更改的數(shù)值設(shè)置成了0.1,可是發(fā)現(xiàn)如果那樣的話淡入淡出不是很潤,所以縮小了數(shù)值和間隔時(shí)間。這樣看起來就潤多了。自我感覺不錯(cuò)。
如果大家的程序只需要透明,那么只用設(shè)置Opacity這個(gè)就可以了。

漸變和淡入淡出照貓畫虎用timer和Opacity這個(gè)配合一下,就可以做出來了。

希望本文所述對大家的C#程序設(shè)計(jì)有所幫助

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 土默特右旗| 石楼县| 宜章县| 固始县| 宁都县| 东台市| 彰化县| 陆河县| 松滋市| 锡林浩特市| 台东市| 静海县| 阿城市| 贡嘎县| 梁河县| 郑州市| 色达县| 永德县| 乐昌市| 颍上县| 昌平区| 左云县| 延长县| 巨鹿县| 茌平县| 康马县| 台北县| 平度市| 白河县| 荃湾区| 乐平市| 淮滨县| 襄樊市| 瓦房店市| 峡江县| 余姚市| 贵德县| 咸丰县| 阿荣旗| 长汀县| 新野县|