看板 Visual_Basic 關於我們 聯絡資訊
※ 引述《wen1015 (我是小狗丁丁的娘)》之銘言: : 想請問一下有沒有什麼方法可以讓它真的變成透明的呢 雖然是有辦法可以設成透明~ 可是做出來的效果不是很好~ 尤其在上層的圖片(也就是你所謂的picturebox)要常常移動.. 而且有多個控制項重疊時, 圖層順序會亂掉.. 比較建議的做法是, 直接在在 Paint 事件裡把那些小圖片直接繪在 Form(或其他控制項)上面.. 如果你以前沒有直接繪圖片(不透過PictureBox)的經驗的話.. 我有個比較容易的做法.. 而且不用修改太多你現有的程式.. (修改程式之前先備份吧..) 先把 Form 上的那些 PictureBox的 Visible都設成 false (不顯示) 然後在你的 Form的Paint事件裡寫 ' 把 form 上的 picturebox iamge都圖到form上面 For i As Integer = Controls.Count - 1 To 0 Step -1 If TypeOf Controls(i) Is PictureBox Then e.Graphics.DrawImage(CType(Controls(i), PictureBox).Image, _ Controls(i).Left, Controls(i).Top) End If Next i 如果你有移動了任何一個 picturebox的位置座標, 那就呼叫 Me.Invalidate() 叫 Form把圖片都重繪一次, 還有要把 Form的 DoubleBuffered設成true, 繪圖比較不會有閃爍的情形發生~ 如果你的圖檔是bmp,那繪之前就要用Bitmap.MakeTransparent設成透明 再繪上去才不會有有色背景出現.. 大略是醬 ._./ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.139.176.251
wen1015:謝謝 雖然我有點看不太懂 可是我會先試試看的 06/15 00:09