PB : La transparence de la form s'applique aussi au controle

Manu94600 Messages postés 107 Date d'inscription lundi 9 juin 2003 Statut Membre Dernière intervention 20 février 2008 - 25 mars 2006 à 12:42
DarkenerDaemonEx Messages postés 11 Date d'inscription mercredi 8 février 2006 Statut Membre Dernière intervention 26 mars 2006 - 26 mars 2006 à 03:05
Salut à tous,

J'ai un petit souci de transparence.
J'ai une forme, avec un arrière plan disign, j'utilise la couleur Red comme couleur de fond. Et ensuite je mets la propriété TransparencyKey à Red aussi pour qu'il enlève le Rouge.

Du coup ma form est de la forme de mon arrière plan disign.

Sur cette form j'ai placé un RichTextBox.

Mon souci c'est que si je place du texte Rouge dans mon RichTextBox, il sera mit en transparent.

Alors je vourdrais savoir s'il y avait un moyen d'appliquer la Transparence que sur la form et non sur les autres controles ??

Manu

Manu

1 réponse

DarkenerDaemonEx Messages postés 11 Date d'inscription mercredi 8 février 2006 Statut Membre Dernière intervention 26 mars 2006
26 mars 2006 à 03:05
Salut,
Si tu veux donner une forme spéciale à ta fenêtre, utilises Region :
protected override void OnSizeChanged(EventArgs e)
{
Region rgn = new Region(new Rectangle(0,0,Width,Height));
/* ... */
Region oldrgn = Region;
Region = rgn;
if (oldrgn != null)
oldrgn.Dispose();
}
C'est à mon avis le mieux : ça passe théoriquement sur tous les systèmes (contrairement à Opacity et TransparencyKey qui, utilisant les "layered windows", ne passent que sur Windows NT 5.0 (Win2K) et supérieurs).

Et pour répondre à ta question, à moins de modifier la partie de user32.dll qui gère les "layered windows" il n'est pas possible d'appliquer la transparence seulement au Form.
0
Rejoignez-nous