真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

C#如何實現(xiàn)透明窗體及按鈕

本篇內(nèi)容主要講解“C#如何實現(xiàn)透明窗體及按鈕”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“C#如何實現(xiàn)透明窗體及按鈕”吧!

在蒸湘等地區(qū),都構建了全面的區(qū)域性戰(zhàn)略布局,加強發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務理念,為客戶提供成都網(wǎng)站設計、做網(wǎng)站 網(wǎng)站設計制作定制設計,公司網(wǎng)站建設,企業(yè)網(wǎng)站建設,品牌網(wǎng)站建設,成都全網(wǎng)營銷,成都外貿(mào)網(wǎng)站制作,蒸湘網(wǎng)站建設費用合理。

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

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

1、C#按鈕透明:

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

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

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

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

while (this.Opacity > 0)  {  this.Opacity -= 0.02;  Thread.Sleep(20);  }  Application.Exit();

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

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

if (this.Opacity > 0)  {  this.Opacity -= 0.02;  }  else {  Application.Exit();   }

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

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

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

private void Form1_FormClosing(  object sender, FormClosingEventArgs e)  {  timer1.Start();  e.Cancel = false;       }

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

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

到此,相信大家對“C#如何實現(xiàn)透明窗體及按鈕”有了更深的了解,不妨來實際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關內(nèi)容可以進入相關頻道進行查詢,關注我們,繼續(xù)學習!


網(wǎng)頁題目:C#如何實現(xiàn)透明窗體及按鈕
本文地址:http://weahome.cn/article/jgsgop.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部