我已将用户控件从vb6迁移到vb.net,我对它的透明度有疑问。 在vb6中,属性backstyle用于使控件透明,但在vb.net中,我无法找到它。 这个房产有没有相应的东西?
答案 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
我已经测试了它,似乎工作正常。