2013-04-24 73 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