c#Winform透明面板问题,带有渐变的表单

时间:2013-01-28 22:00:12

标签: c# winforms panel gradient transparent

我用渐变画了我的winforms。我在其中一个使用AutoScroll = true的面板。这样,我可以显示所有信息,而不占用太多空间。

现在,我希望该面板透明。我使用透明作为背景颜色,工作正常。问题是我滚动的时候。透明度变得混乱。有什么方法可以解决这个问题吗?

我还尝试在知道最终高度后,使用与我的表单相同的渐变来绘制面板。但我有同样的问题。

以下是一些图片:(不要看文本框或那些透明的小面板。那将是白色的。)

滚动前(右) enter image description here

滚动后(Backcolor问题) enter image description here

滚动后的另一个:

enter image description here

2 个答案:

答案 0 :(得分:0)

我将引用答案:

  

为面板的Scroll事件添加事件处理程序,并调用面板的Invalidate()方法。这将修复背景,但滚动时它看起来不会很好。你会看到一个pogo效果。 “拖动时显示窗口内容”Windows选项不可避免的副作用,你不能合理地关闭。 - 汉斯帕斯特

答案 1 :(得分:0)

我有同样的问题。调用panel.Refresh()看起来更好&比Invalidate()更顺畅。