USER CONTROL TRANSPARENTE

GMIOTTO 04/01/2010 02:21:27
#330970
Pessoal,
No VB.net 2008 preciso fazer um usercontrol, com um desenho de um equipamentp, (uma caixa e duas linhas e um texto) porem o fundo tem de ser transparente para exibir o fundo do form. Ja tentei um monte de coisas e nada. Se elguem puder mandar umexemplo. Obrigadão!
Giba
WEBMASTER 04/01/2010 13:58:50
#331009
Caraca
Tem que ser transparente ?
Se voce colocar uma propertie do tipo color e fizer ela ser alterada para o form.backcolor ja nao resolve ?
IRRV 04/01/2010 14:40:43
#331019
Tente usar a classe Color:

   
Imports System.Draw.Color
Form.BackColor = Color.Transparent


Att,
Igor
JWCELYO 04/01/2010 15:11:07
#331027
Resposta escolhida
dentro da propriedade load do seu control coloque como esta abaixo e tudo ficara transparent

  Private Sub UserControl1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Me.ParentForm.TransparencyKey = ParentForm.BackColor
End Sub
GMIOTTO 04/01/2010 22:09:20
#331053
Pessoal Funcionou
Juntando as ideias..


OBRIGADO!

Adicionei um UserControl e com esse código:

Public Class UserControl3
Private Const WS_EX_TRANSPARENT As Int32 = &H20

Public Sub New()
MyBase.New()

InitializeComponent()

Me.SetStyle(ControlStyles.SupportsTransparentBackColor, True)
Me.UpdateStyles()
Me.BackColor = Color.Transparent
End Sub

Protected Overrides ReadOnly Property CreateParams() As CreateParams
Get
Dim cp As CreateParams = MyBase.CreateParams
cp.ExStyle = cp.ExStyle Or WS_EX_TRANSPARENT
Return cp
End Get
End Property

Protected Overrides Sub OnPaintBackground(ByVal e As PaintEventArgs)
[ô]
End Sub

Private Sub UserControl3_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

End Sub
End Class

Tópico encerrado , respostas não são mais permitidas