-
Problème de transparence
Bonjour,
J'ai un petit soucis de transparence sur mon application.
Donc en fait j'ai ma Form que j'utilise pour afficher une image, sur cette form j'ai un premier Panel qui affiche aussi une image avec transparence (donc on voie l'image de la form sur ce premier Panel).
Ensuite par dessus tout ca j'ai un autre panel avec fond transparent, et c'est là que viens mon problème, sur ce second panel je voie bien l'image afficher par la form en transparence, mais je ne voie pas l'image du premier panel là ou les 2 panel s'entre croise.
Les 2 panel sont des contrôles de la form.
Quelqu'un aurai une solution à ce problème ?
-
La transparence et Winforms, vaste problème.
Tu peux pas passer en WPF ou c'est BIEN mieux supporté?
-
Est-ce qu'il n'y a vraiment aucune solution à part passer à WPF ?
-
non ...
en windows forms, la transparence n'existe pas, elle est recréée artificiellement (et de manière non performante qui plus est)
un controle transparent demande au controle du dessous de se redessiner sur lui avant de se dessiner (alors que le controle d'avant s'était déjà redessiné pour lui)
donc la transparence est à éviter en windows forms, alors que wpf sait à priori faire pas mal de chose sur le visuel
éventuellement tu peux tenter en jouant sur le parent du panel, car en tout cas si une form a une image et que 2 panels sont sur la form et croisés, tu ne verras jamais le croisement des 2, le controle demandant à son parent uniquement de se dessiner
en wpf, la transparence existe, meme le rien existe et les controles ne se redessinent pas x fois pour rien
(en windows forms sous windows xp, on se prend des centaines d'évènements de redessin à la seconde dans certains cas de déplacement de form)
-
Ok il ne me reste plus qu'à voir du côté des WPF alors.
Merci à vous deux.
-
wpf est déroutant au début, on sait pas quoi écrire et on refait ce qu'on faisait en windows forms (ca reste faisable bien que déconseillé)
après on commence à comprendre la nouvelle méthodologie de développement (genre ne pas modifier l'interface depuis le code .net comme en windows forms)
après on voit que c'est surpuissant, mais qu'en fait y a énormément de nouvelles classes à apprendre :aie: