推 wen1015:謝謝 雖然我有點看不太懂 可是我會先試試看的 06/15 00:09
※ 引述《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