日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

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

新聞中心

這里有您想知道的互聯網營銷解決方案
老鳥分析VB.NET窗體透明度

#t#VB.NET還是比較常用的,于是我研究了一下VB.NET窗體透明度漸變效果:我們還是來看一下在VB6中的實現,在這里拿出來和大家分享一下,希望對大家有用。

10余年專注建站、設計、互聯網產品定制網站設計服務,業(yè)務涵蓋品牌網站設計、購物商城網站建設、成都小程序開發(fā)、軟件系統(tǒng)開發(fā)、重慶APP軟件開發(fā)等。憑借多年豐富的經驗,我們會仔細了解每個客戶的需求而做出多方面的分析、設計、整合,為客戶設計出具風格及創(chuàng)意性的商業(yè)解決方案,創(chuàng)新互聯建站更提供一系列網站制作和網站推廣的服務,以推動各中小企業(yè)全面信息數字化,并利用創(chuàng)新技術幫助各行業(yè)提升企業(yè)形象和運營效率。

使用這個函數,可以輕松控制VB.NET窗體透明度。按照微軟的要求,透明窗體在創(chuàng)建時應使用WS_EX_LAYERED參數(用CreateWindowEx),或者在創(chuàng)建后設置該參數(用SetWindowLong),我選用后者。

SetLayeredWindowAttributes函數,其中hwnd是透明窗體的句柄,crKey為顏色值,bAlpha是透明度,取值范圍是[0,255],dwFlags是透明方式,可以取兩個值:當取值為 LWA_ALPHA時,crKey參數無效,bAlpha參數有效;當取值為LWA_COLORKEY時,bAlpha參數有效而窗體中的所有顏色為 crKey的地方將變?yōu)橥该鳌?/p>

 
 
 
  1. Const LWA_COLORKEY = &H1
  2. Const LWA_ALPHA = &H2
  3. Const GWL_EXSTYLE = (-20)
  4. Const WS_EX_LAYERED = &H80000
  5. PrivateDeclareFunction GetWindowLong Lib "user32" Alias "GetWindowLongA" 
    (ByVal hWnd AsLong, ByVal nIndex AsLong) AsLong
  6. PrivateDeclareFunction SetWindowLong Lib "user32" Alias "SetWindowLongA" 
    (ByVal hWnd AsLong, ByVal nIndex AsLong, ByVal dwNewLong AsLong) AsLong
  7. PrivateDeclareFunction SetLayeredWindowAttributes Lib "user32" 
    (ByVal hWnd AsLong, ByVal crKey AsLong, ByVal bAlpha AsByte, ByVal dwFlags AsLong) AsLong
  8. PrivateSub Form_Load()
  9. Dim Ret AsLong
  10. 'Set the window style to 'Layered'
  11. Ret = GetWindowLong(Me.hWnd, GWL_EXSTYLE)
  12. RetRet = Ret Or WS_EX_LAYERED
  13. SetWindowLong Me.hWnd, GWL_EXSTYLE, Ret
  14. 'Set the opacity of the layered window to 128
  15. '我們可以設置這個數值來控制透明程度
  16. SetLayeredWindowAttributes Me.hWnd, 0, 128, LWA_ALPHA
  17. EndSub

在VB.NET中,太簡單了!系統(tǒng)為窗體提供了Opacity屬性,來確定窗體的不透明和透明程度,0%為透明,100%為不透明。以下程序通過循環(huán)顯示VB.NET窗體透明度過程,為了讓大家看清楚其變化,在循環(huán)過程中使用了System.Threading.Thread.Sleep來停頓。

 
 
 
  1. PrivateSub button1_Click(ByVal sender As System.Object, 
    _ByVal e As System.EventArgs) Handles button1.Click
  2. '窗體的透明度漸變過程
  3. button1.Enabled = False
  4. Dim I AsDouble
  5. For I = 0.01 To 1 Step 0.01
  6. Me.Opacity = I
  7. System.Windows.Forms.Application.DoEvents()
  8. System.Threading.Thread.Sleep(5)
  9. Next
  10. Me.Opacity = 1
  11. button1.Enabled = True
  12. EndSub

本文標題:老鳥分析VB.NET窗體透明度
轉載注明:http://www.dlmjj.cn/article/cdjeiie.html