C#winforms透明表单覆盖问题

C#winforms透明表单覆盖问题,第1张

概述我的主要表单上有一个水平拆分容器.顶部包含找到 here的对象列表视图控件. 我正在使用之前的C#透明覆盖表格answer中的代码. 我的问题似乎与对象列表视图有关.使用上面答案中的代码,透明表单完美地覆盖了所有控件,但是当它到达对象列表视图时,它似乎在这个特定控件上绘制得更暗. 如果我关闭透明覆盖层并将空白面板放在前面,当我打开透明覆盖层时,它仍会显示这个较暗的部分,就像对象列表视图控件仍然可见 我的主要表单上有一个水平拆分容器.顶部包含找到 here的对象列表视图控件.

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

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

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

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

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

要复制发生的事情……

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

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

编辑

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

解决方法 出于某种原因,透明表单的color.DarkGray Backcolor属性导致了问题.将Backcolor更改为color.White修复此问题.

感谢Patrice Gahide帮助我.

总结

以上是内存溢出为你收集整理的C#winforms透明表单覆盖问题全部内容,希望文章能够帮你解决C#winforms透明表单覆盖问题所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/1239628.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-06
下一篇2022-06-06

发表评论

登录后才能评论

评论列表(0条)

    保存