2009-03-12 7 views
2

La question à peu près tout dit, j'ai essayé de définir la couleur de fond transparent dans la section des propriétés, mais il ne semble pas fonctionner. J'ai une photo derrière le groupe que je dois montrer à travers. Existe-t-il une façon spécifique de le faire?Comment faire une boîte de groupe transparente dans VB

Merci

+0

WPF ou WinForms? – JaredPar

+0

Je pense que ses winforms. Im en utilisant VS 05 si cela aide .. – user71498

Répondre

3

La propriété transparente ne fonctionne pas pour les contrôles qui se chevauchent. Je suppose que vous avez votre photo dans un PictureBox?

Vous pouvez résoudre ce problème dans au moins deux façons:

1) est peut-être le plus facile à placer à la fois votre image et GroupBox au sein un groupe spécial (vous définissez la propriété BackgroundImage du Groupe spécial). Ça marchera. Ensuite, GroupBox et Panel ne se chevauchent pas techniquement, mais GruopBox est un enfant du Panel. Cela ne nécessite aucun code et vous voyez exactement ce que vous obtenez directement dans le Concepteur de formulaires.

2) Peignez la photo directement sur le formulaire vous-même dans l'une des méthodes OnPaint ou OnPaintBackground du formulaire.

+0

Merci pour l'aide! Ma forme semble beaucoup mieux maintenant = D – user71498

0

Si vous êtes à la recherche d'une solution WPF, essayez ce qui suit. Assurez-vous de définir la propriété Window.AllowsTransparency sur true

<Window 
    AllowsTransparency="True" /> 

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

Si vous voulez faire cela dans Visual Basic 6, vous pouvez le faire en utilisant le code suivant: -

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 

Pour référence plus loin, vous pouvez regarder here

0

le sujet est trop vieux, mais je Je vais juste poser ma réponse pour le partage avec les autres, je ne suis pas expert mais je l'ai trouvé juste si je fais une image de l'image de fond du panneau et place le GroupBox dans le panneau puis dans le backcolor de GroupBOx choisissez Web> Transparent. rien d'autre qui devrait faire tout le travail,

Questions connexes