日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
C#透明窗體及按鈕的效果淺析

C#透明窗體及按鈕的效果就是使用Alpha Blending技術(shù)。Alpha Blending技術(shù)是一個混合各種顏色值并產(chǎn)生透明效果的過程。具體的實現(xiàn)原理也很簡單:在GDI+中,任何一種顏色由四種成分組成――Alpha,Red,Green和Blue。其中的Alpha成分則代表了一種顏色的透明程度,它的值在0到255之間變化。不言而喻,0代表完全透明而255則表示完全不透明。因此,你只要用透明效果創(chuàng)建一種顏色并用該顏色來畫圖像就可以完成圖像的透明處理了。

成都創(chuàng)新互聯(lián)專注于南雄網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗。 熱誠為您提供南雄營銷型網(wǎng)站建設(shè),南雄網(wǎng)站制作、南雄網(wǎng)頁設(shè)計、南雄網(wǎng)站官網(wǎng)定制、微信小程序開發(fā)服務(wù),打造南雄網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供南雄網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。

C#透明窗體及按鈕的效果:

1、C#按鈕透明:

設(shè)置按鈕的backcolor為0,0,0,0 的數(shù)字即可,同時設(shè)置FlatApperance的BorderSize為0,F(xiàn)latStyle為Flat,這樣該按鈕就完全透明了,此種效果常用在用背景做皮膚,然后在相應(yīng)位置放一個按鈕,控制按鈕事件,但不想讓用戶看到按鈕的情況;

2、C#窗體關(guān)閉時產(chǎn)生透明漸變:

前幾天無意中聽同學(xué)說想要弄個窗體漸變的,后來自己上網(wǎng)搜索了一下,發(fā)現(xiàn)些方法,自己試了一下是成功的,但是還是有些問題,郁悶。以下列出幾種我弄的方法:

① 新鍵窗體,窗體里加個按鈕,雙擊按鈕進入事件編寫代碼:

 
 
 
  1. while (this.Opacity > 0)  
  2. {  
  3. this.Opacity -= 0.02;  
  4. Thread.Sleep(20);  
  5. }  
  6. Application.Exit(); 

程序運行后點擊該按鈕關(guān)閉的時候整個窗體是先變成黑色,然后透明度再慢慢變小,變?yōu)?的時候程序再退出的,理論上來說我這個思路應(yīng)該是正確的,可是我就不知道是怎么回事了?

②往窗體里加入Timer控件,Interval設(shè)置為20,控件事件編寫代碼:

 
 
 
  1. if (this.Opacity > 0)  
  2. {  
  3. this.Opacity -= 0.02;  
  4. }  
  5. else {  
  6. Application.Exit();   

然后在按鈕的點擊事件中寫上  timer1.Start(); 就行了,經(jīng)測試,這種方法是可以的,窗體是慢慢變透明而后又關(guān)閉的。

C#透明窗體及按鈕的效果變化遇到的問題

可是隨后的問題又來了,我現(xiàn)在是想當(dāng)我點擊窗體右上角的關(guān)閉按鈕時,窗體漸變關(guān)閉,我在窗體的FormClosing事件中輸入timer1.Start();,測試,結(jié)果是當(dāng)我點擊窗體右上角的關(guān)閉按鈕時,程序是直接退出了,并沒有漸變消失,郁悶,搞不懂是怎么回事哦,而后上網(wǎng)找了好久,找到個解決方法,F(xiàn)ormClosing事件中輸入e.Cancel = true;   timer1.Start();  測試,結(jié)果,點擊關(guān)閉后,窗體是能漸變消失了,可是當(dāng)透明度到0了以后,并沒有關(guān)閉,任務(wù)欄上的圖標(biāo)還在,任務(wù)管理器里也有相應(yīng)的進程。

 
 
 
  1. private void Form1_FormClosing(  
  2. object sender, FormClosingEventArgs e)  
  3. {  
  4. timer1.Start();  
  5. e.Cancel = false;  
  6.      

兩步順序倒了,解釋下:在窗體關(guān)閉時事件 調(diào)用線程逐減透明度 然后 Cancel=false;是讓窗體關(guān)閉不取消樓主理解錯誤了 true是取消 所以窗體不會關(guān)閉Cancel 一般是關(guān)閉窗體時寫,例子:

 
 
 
  1. private void Form1_FormClosing(object sender, FormClosingEventArgs e)  
  2. {  
  3. DialogResult dr=MessageBox.Show("是否關(guān)閉本窗體","提示",MessageBoxButtons.YesNo);  
  4. if (DialogResult.No == dr)//如果點否按鈕  
  5. {  
  6. e.Cancel = true;//取消關(guān)閉  
  7. }  

C#透明窗體及按鈕的效果的實現(xiàn)基本情況就向你介紹到這里,希望對你了解和學(xué)習(xí)C#透明窗體及按鈕的效果有所幫助。


當(dāng)前題目:C#透明窗體及按鈕的效果淺析
標(biāo)題URL:http://www.5511xx.com/article/djcipes.html