如何在VB中使组框透明

时间:2009-03-12 13:33:07

标签: vb.net

这个问题几乎说明了一切,我已经尝试在属性部分将背面颜色设置为透明,但它似乎没有用。我在组合框后面有一张照片,我需要通过它来显示。有没有具体的方法呢?

由于

3 个答案:

答案 0 :(得分:4)

透明属性不适用于重叠控件。我想你在PictureBox中有你的照片吗?

您可以通过以下两种方式解决此问题:

1)也许最简单的方法是将你的图片和GroupBox 放在一个Panel中(你设置了Panel的BackgroundImage属性)。那可行。然后GroupBox和Panel在技术上并不重叠,但GruopBox是Panel的孩子。这不需要代码,您可以直接在Forms Designer中看到。

2)使用表单的OnPaint或OnPaintBackground方法将图片直接绘制到表单上。

答案 1 :(得分:0)

如果您正在寻找WPF解决方案,请尝试以下方法。确保将Window.AllowsTransparency设置为true

<Window 
    AllowsTransparency="True" />

    <GroupBox Background="Transparent" />
</Window>

答案 2 :(得分:0)

如果要在Visual Basic 6中执行此操作,可以使用以下代码执行此操作: -

Option Explicit
Const THEBorder As Integer = 24 'You might need to adjust:
                                'this value is to compensate
                                'border of picturebox...
                                'note that I put a width of 2
                                'for this border, to make it
                                'wider
Private Sub Form_Load()
   With PicContainer
      .AutoRedraw = True
      .PaintPicture Me.Picture, 0, 0, , , .Left + THEBorder, .Top + THEBorder, .Width, .Height
   End With
End Sub

如需进一步参考,请查看here