C#winforms透明表单覆盖问题

我的主要表单上有一个水平拆分容器.顶部包含找到 here的对象列表视图控件.

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

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

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

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

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

要复制发生的事情……

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

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

编辑

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

解决方法

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

感谢Patrice Gahide帮助我.

相关文章

本程序的编译和运行环境如下(如果有运行方面的问题欢迎在评...
水了一学期的院选修,万万没想到期末考试还有比较硬核的编程...
补充一下,先前文章末尾给出的下载链接的完整代码含有部分C&...
思路如标题所说采用模N取余法,难点是这个除法过程如何实现。...
本篇博客有更新!!!更新后效果图如下: 文章末尾的完整代码...
刚开始学习模块化程序设计时,估计大家都被形参和实参搞迷糊...