Y a-t-il un moyen de rendre un panneau transparent ou semi-transparent? Je n'ai trouvé aucune propriété appropriée pour définir la transparence pour un panneau. J'essayais aussi de faire un contrôle WPF avec la grille (l'arrière-plan de la grille et l'arrière-plan du contrôle étaient réglés sur transparent) et de le placer sur une fenêtre normale, mais quand je mets ce contrôle sur Windows Form (pas WPF) n'obtenez pas la transparence appropriée.Contrôle de panneau transparent ou semi-transparent
Répondre
Je ne suis pas sûr de rendre le panneau semi-transparent, mais je sais que vous pouvez utiliser la propriété TransparencyKey
du formulaire pour créer des sections complètement transparentes.
Par exemple, définissez la propriété TransparencyKey
du formulaire sur Fuchsia, puis définissez le BackColor
du panneau sur Fuchsia et créera une zone transparente sur le formulaire.
Edit:
d'accord avec @Callum Rogers à aller avec WPF. Le texte directement sur le panneau montre des franges (voir l'étiquette dans la capture d'écran). Toutefois, si vous devez ajouter rapidement cette application à une application Win Forms existante et que vous n'avez pas besoin d'afficher directement le texte sur le panneau, cela pourrait fonctionner pour vous.
Malheureusement, la transparence est pas nativement ou bien pris en charge dans WinForms et il est difficile de vous mettre en œuvre.
Si vous voulez un panneau transparent qui vous permet de « voir à travers » la forme, jetez un oeil at this article, qui vous indique définir à la fois TransparencyKey
et BackColor
à quelque chose comme Fuscia
du Groupe spécial. Avec du texte/d'autres choses dans le panneau, cet effet peut ne pas sembler si bon.
Si vous voulez un panneau transparent ou translucide qui montre la forme ci-dessous prennent un regard at this SO question.
J'utiliseraient WPF tout le chemin, si vous êtes en mesure de l'utiliser sous une forme maintenant.
Si votre écran est à peu près statique, vous pouvez le faire pour obtenir la semi-transparence (Source):
class SeeThroughPanel : Panel
{
public SeeThroughPanel()
{
}
protected override CreateParams CreateParams {
get {
var cp = base.CreateParams;
cp.ExStyle |= 0x00000020;
return cp;
}
}
protected override void OnPaint(PaintEventArgs e)
{
//base.OnPaint(e);
e.Graphics.FillRectangle(new SolidBrush(Color.FromArgb(50, 0, 0, 0)), this.ClientRectangle);
}
}
Mais, cette approche n'est pas sans problème si vous avez besoin de rendu dynamique sur votre semi-transparent contrôle. Voir this question que j'ai posté. J'espère que ça répondra un jour.
C'est très utile! –
- 1. Fond de panneau semi-transparent
- 2. Panneau Android-Transparent
- 3. Création d'un panneau transparent
- 4. Comment créer panneau semi-transparent
- 5. Effacer les graphiques d'un panneau transparent C#
- 6. Panneau de disposition personnalisé semi-transparent
- 7. Contrôle enfant transparent
- 8. VB.net problème de contrôle transparent
- 9. Comment faire un panneau "souris-transparent"?
- 10. C# Formulaire transparent dans le panneau
- 11. Comment créer panneau transparent en C# .Net
- 12. C# WinForms contrôle transparent permettant Clickthrough
- 13. Arrière-plan transparent pour un contrôle
- 14. Puis-je installer le panneau de contrôle cPanel ou plesk?
- 15. Existe-t-il un contrôle transparent TMemo ou TRichEdit VCL?
- 16. Panneau de contrôle pour Sphinx?
- 17. Ajout panneau dynamique/contrôle
- 18. Comment créer Transparent contrôle ListView
- 19. Transparent ListBox ou Listbox
- 20. Panneau personnalisé Windows Form avec enfant transparent Problème
- 21. iPad panneau de contrôle coulissant comme twitter
- 22. C# Winforms Contrôle Transparent permettant le Clic
- 23. Le contrôle statique n'est pas transparent + MFC
- 24. Limiter l'ajout de contrôle sur le panneau
- 25. Sérialisation d'un contrôle de panneau DevExpress
- 26. Navigateur Web transparent dans le contrôle de l'utilisateur dans .NET
- 27. Ajouter dynamiquement un contrôle de panneau ou d'étiquette à une grille de données
- 28. Comment faire un NSComboBox invisible ou transparent
- 29. Contrôle du panneau d'autohopping pour Windows Forms
- 30. Contrôle d'image ASP.NET à l'intérieur du panneau
Un panneau transparent nécessite le drapeau de style natif WS_EX_TRANSPARENT (CreateParams). Je ne pense pas que vous le fassiez sortir d'un contrôle WPF. Assez ironique. –