如何使用户控件透明

时间:2015-07-27 15:05:11

标签: vb.net user-controls transparency

我已将用户控件从vb6迁移到vb.net,我对它的透明度有疑问。 在vb6中,属性backstyle用于使控件透明,但在vb.net中,我无法找到它。 这个房产有没有相应的东西?

1 个答案:

答案 0 :(得分:3)

在互联网上进行一些搜索后,我发现了这颗珍珠:

Protected Overrides ReadOnly Property CreateParams() As CreateParams
    Get
        ' Make background transparent
        Dim cp As CreateParams = MyBase.CreateParams
        cp.ExStyle = cp.ExStyle Or &H20
        Return cp
    End Get
End Property

Protected Overrides Sub OnPaintBackground(e As PaintEventArgs)
    '' call MyBase.OnPaintBackground(e) only if the backColor is not Color.Transparent
    If Me.BackColor <> Color.Transparent Then
        MyBase.OnPaintBackground(e)
    End If
End Sub

我已经测试了它,似乎工作正常。