C#winforms透明表单覆盖问题

前端之家收集整理的这篇文章主要介绍了C#winforms透明表单覆盖问题前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我的主要表单上有一个水平拆分容器.顶部包含找到 here的对象列表视图控件.

我正在使用之前的C#透明覆盖表格answer中的代码.

我的问题似乎与对象列表视图有关.使用上面答案中的代码,透明表单完美地覆盖了所有控件,但是当它到达对象列表视图时,它似乎在这个特定控件上绘制得更暗.

如果我关闭透明覆盖层并将空白面板放在前面,当我打开透明覆盖层时,它仍会显示这个较暗的部分,就像对象列表视图控件仍然可见一样.

我首先想知道为什么会这样.但我也想知道如何解决这个问题,以便叠加是一致的.

>如果您想测试这个,我创建了一个简单的项目来演示问题here

要复制发生的事情……

>将splitcontainer向下拖动一点,然后单击Overlay按钮.
>单击白色面板关闭叠加层.单击“空白面板”按钮,然后再次单击“叠加”按钮.

请注意,在Plexiglass类中,它仅将面板作为参数用于此演示,在我的实际项目中,它将主窗体作为参数.

编辑

我将颜色从深灰色变为白色,效果很好.我不知道为什么暗灰色导致了这个问题,但是我很满意它看起来像白色的样子,所以我会坚持下去.

解决方法

出于某种原因,透明表单的Color.DarkGray BackColor属性导致了问题.将BackColor更改为Color.White修复此问题.

感谢Patrice Gahide帮助我.

猜你在找的C&C++相关文章