- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
所以我有一个 C# winform,有一个面板和一个属于面板的文本框。
问题是文本框在我的 winform 上显示为一个洞。我可以看到它背后的内容(我的桌面、其他窗口等)。这对我来说听起来像是一个错误,因为经过一些谷歌研究,我得出的结论是文本框不能透明。
如果以下任何一项相关:winform 透明度键设置为透明,文本框 backcolor=white
和 forecolor=black
。
我尝试重新启动 visual studio 和计算机,但问题仍然存在。
有什么办法可以解决吗?
最佳答案
Color.Transparent 在 ARGB 中是 0,255,255,255。这意味着它是白色的,没有不透明度。由于透明度键用于非透明颜色(24 位 RGB),因此它不使用 Alpha 部分。这意味着。 Color.Transparent == Color.White 用于 TransparencyKey
所以您的行为是 100% 预期的,TransparencyKey 是白色的,TextBox BackColor 是白色的。因此文本框背景不可见。根本不是错误。
您可以通过根本不设置 TransparencyKey 或将其设置为 Color.Empty 或其他一些颜色来解决此问题。或者,如果您想将透明键保持为白色,则可以更改 TextBox 的 BackgroundColor。
尽管将白色作为 TransparencyKey 并不是一个好主意(你已经明白为什么了)。如果您仍想使用它,我建议您使用青色或洋红色(很少使用的颜色)
关于文本框像我的 winform 上的一个洞一样透明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14316905/
我是一名优秀的程序员,十分优秀!