2016-03-04 111 views
3

我想讓一個PictureBox半透明:在背面顯示一個picturebox的conent並不是表單的基本顏色。半透明的PictureBox c#

我的項目

enter image description here

是在前面的小PictureBoxs顯示形式(控制)(它具有「透明」爲背景色)的背景色,但我想顯示顏色紅色(大PictureBox的背景圖像)。我該怎麼做?

+0

強硬要求與WinForms的,不是開玩笑,我是認真的...... –

+0

在[這裏]看(http://stackoverflow.com/questions/4144371/a- picturebox-problem)和[this](http://stackoverflow.com/questions/19747926/override-a-transparent-picturebox-in-c-sharp-windows-application-form)。 –

+2

您在後臺看到父級。通常情況下,除非您在代碼中分配Parent屬性,否則絕不會有另一個PictureBox。檢查[此帖子]中的PictureContainer類(http://stackoverflow.com/a/9387562/17034)。 –

回答

0

這可能不完全回答你的問題,如果它沒有幫助,我可以刪除我的答案。我不確定我是否完全理解。如果你的背景圖像是一個單一顏色的簡單的PictureBox,下面的代碼應該是工作。

pictureBox1 - 一個簡單的星形的圖像

enter image description here

pictureBox2 - 我的紅色背景圖片

Bitmap b = new Bitmap("Star.png"); 
b.MakeTransparent(Color.White); 
pictureBox1.Image = b; 
pictureBox1.BackColor = pictureBox2.BackColor; 

前:

enter image description here

後:

enter image description here

+0

如果背景圖像不是簡單的顏色,此代碼有效嗎?例如一些世界地區的地圖 – hos130