【发布时间】:2021-06-17 02:16:33
【问题描述】:
如何在 vb.net 中透明面板?面板的默认颜色是白色
Private Sub frm_console_Load(sender As Object, e As EventArgs) Handles MyBase.Load
'Panel1.BackColor = Color.Transparent //i've tried this too
Panel1.BackColor = Color.FromArgb(25, Color.Black)
End Sub
【问题讨论】:
-
WinForms 不支持这样的透明度。您可以伪造完全透明,但不支持部分透明。如果这是您想要的,请使用 WPF。它是从头开始创建的,以支持透明度等现代功能。
-
我怎样才能假装完全透明?
-
看来我错了。我刚刚尝试将
Panel的BackColor设置为部分透明的颜色,并且效果很好。我所做的几乎和你所做的一样,并且按预期/期望的方式工作。试试这些步骤。创建一个新的 WinForms 项目并设置表单的BackgroundImage属性。在表单中添加三个Panels,并将BaclColor分别设置为Red、Red和Transparent。在Load事件处理程序中添加Panel2.BackColor = Color.FromArgb(100, Panel2.BackColor)。你应该在Panels这三个中看到全红、透明红和完全透明。 -
请注意,这仍然不是“真正的”透明度。发生的情况是控件在其背景中绘制其父级,因此它看起来是透明的。如果您在透明控件后面放置另一个控件,您将看不到它,但仍会看到父控件。这就是我所说的“虚假透明度”。
-
Transparent image over two controls with different back colors Translucent circular Control with text: C#,但如果你不会说这种语言,你可以制作一个自定义控件并在 VB.Net 中使用它。 -- 您可以在窗体上重叠任何其他控件,透明度被保留。您只需要避免重叠的可滚动控件。除非你稍微调整一下。
标签: vb.net