文本框透明,就像我的winform上的一个洞

时间:2013-01-14 10:42:31

标签: textbox transparent

所以我有一个C#winform,面板和一个属于面板的文本框。

问题是文本框在我的winform上显示为一个洞。我可以看到它背后的东西(我的桌面,其他窗户等)。这对我来说听起来像个错误,因为经过一些谷歌研究,我得出的结论是文本框不能透明。

如果以下任何一项相关:winform透明度密钥设置为透明,文本框backcolor=whiteforecolor=black

我试图重新启动visual studio和计算机,但问题仍然存在。

有什么办法可以解决吗?

1 个答案:

答案 0 :(得分:5)

ARGB中的Color.Transparent为0,255,255,255。这意味着它的白色没有不透明度。由于透明度键用于非透明色(24Bit RGB),因此它不使用Alpha部分。这意味着。 Color.Transparent == Color.White for TransparencyKey

因此,您所拥有的行为是100%预期,TransparencyKey是白色,TextBox BackColor是白色。因此,文本框背景不可见。根本不是一个错误。

您可以通过不设置TransparencyKey或将其设置为Color.Empty或其他颜色来解决此问题。或者,如果要将白色保留为TransparencyKey,则可以更改TextBox的BackgroundColor。

拥有White作为TransparencyKey虽然不是一个好主意(你已经看到了原因)。如果你还想使用它,我建议使用青色或洋红色(很少使用的颜色)