C# WinForm設置透明


1:通過設置窗體的 TransparencyKey實現 
   例:窗體中的白色會變成透明

     this.BackColor =Color.White; this.TransparencyKey = Color.White; 
     TransparencyKey只支持透明或不透明,不支持過度色,比如PNG圖片中的從不透明到透明的過渡色會顯示出討厭的效果
2:通過設置窗體的 Opacity 實現 

  例:窗體的透明度為50% 

    this.Opacity = 0.5; 
    Opacity,我們發現它的顯示效果很好,不存在TransparencyKey的過度色問題,但是Opacity設置的是窗體的透明度,和普通窗口相比,只是透明度不同而已,其他沒有區別。如果你把通過Opacity制作的透明窗體蓋在其他程序的窗口上,你看得到后面的窗口,卻沒法直接操作后面的窗體。並且該窗口上所有的控件也會產生透明效果,無法單獨控制。
不管TransparencyKey的實現,還是Opacity的實現,其實都是對SetLayeredWindowAttributes()函數的封裝,只是參數不同而已
 

3、有些情況下滿足不了需要,這里再提供2種方法供參考: UpdateLayeredWindow()和GraphicsPath。

具體查看:http://www.cnblogs.com/jxsoft/archive/2011/03/09/1978156.html

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM