8
votes

forme semi-transparente mais contrôles opaques en C #

Comment faire de la forme semi-transparente en C # Application de formulaire Windows

J'ai essayé le transparentkey qui le rend complet transparent. et essayé opacité mais il effets tout le formulaire (avec des commandes).

Je veux que seulement la partie, il soit semi-transparent mais pas des contrôles.


0 commentaires

3 Réponses :



0
votes

5 commentaires

Le formulaire n'est pas semi-transparent dans votre exemple ... ou je manque quelque chose?


Peut-être que l'arrière-plan est tellement uniforme et ce n'est pas assez clair, mais cela fonctionne vraiment avec Alpha Channel. Si vous regardez de près, vous verrez l'ombrage :)


J'ai testé et avoir le résultat suivant: le bouton1 est opaque, le panneau1 est semi-transparent, le formulaire1 est opaque. Vous ne pouvez pas voir, ce qui est derrière la forme, mais la question était d'une forme semi-transparente. J'ai donc le même problème, mais votre réponse semble ne pas être correcte ...


Je vois ce que tu veux dire, tu es vrai. En fait, j'ai répondu à un contrôle mais la question concerne le formulaire ... Je vais mettre à jour


Qui a suscité cette question, juste après que je l'ai révélé? Cette réponse doit être supprimée, car elle conduit les gens dans la mauvaise direction.



3
votes

J'ai trouvé la brosse de trappe grotesque,

au lieu de: p>

protected override void OnPaintBackground(PaintEventArgs e) {
  var sb = new SolidBrush(Color.FromArgb(100, 100, 100, 100));
  e.Graphics.FillRectangle(sb, this.DisplayRectangle);
}


3 commentaires

Parfait, votre réponse était la seule qui m'a servi


Est-ce pour WPF parce que je ne suis pas capable de trouver l'événement comme sur Paintsbackground dans Windows Formulaires


Oui, ce WPF ne gagne pas. Pourquoi utiliser WinForms lorsque vous pouvez utiliser WPF?