2013-04-24 72 views
1

下圖顯示了c#中WebBrowser控件上的面板。WebBrowser控件c上的透明覆蓋圖#

enter image description here

但是,如果我把面板的背景屬性爲「透明」,它會顯示顏色「銀」作爲我的窗體的背景是銀。

我的問題是;如何在自定義的WebBrowser控件上繪製覆蓋圖,以便它在「透明」時顯示WebBrowser控件而不是窗體的背景色。

謝謝。

+0

你不能使這項工作。你需要用另一個窗口覆蓋它。具有TransparencyKey設置的無邊界自有窗體,類似於[此鏈接](http://stackoverflow.com/a/4503371/17034) – 2013-04-25 03:00:24

+0

我害怕它會歸結爲這個答案。我唯一的問題是以下;如何使第二個無邊界窗體停留在左上角,如圖片所示。 – Andrew 2013-04-25 04:34:13

+0

使用LocationChanged事件。 – 2013-04-25 05:09:09

回答

1

我認爲這涉及面板的OnPaint方法。

如果有多個控件相互重疊,則只會爲屏幕的該區域繪製頂部控件。通過使控制透明,你正在使屏幕區域的背景顏色

我相信這個問題有一些解決方案的建議;這個問題似乎對OnPaintBackground指向更具體也

Question link

+0

@BlargleMonster我意識到我讀的問題是錯誤的,所以去找到可能的解決方案:p – Sayse 2013-04-24 20:44:36

+0

我並不是說它對立,只是作爲一個評論。感謝您編輯您的答案以提供解決方案。 – BlargleMonster 2013-04-26 13:33:29

+0

@BlargleMonster - 不用擔心,我很欣賞反饋 – Sayse 2013-04-26 15:38:42