Salut à tous, je crois avoir soulevé un bug avec la transparence de la Form en C#.

Si on fait ce code, tout est nickel : la Form s'affiche en plein écran, et est transparente :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
int x = 0, y = 0,
	largeur = Screen.PrimaryScreen.WorkingArea.Width,
	hauteur = Screen.PrimaryScreen.WorkingArea.Height;
 
Form f = new Form();
f.SetBounds(x, y, largeur, hauteur);
f.TransparencyKey = Color.Blue;
f.BackColor = Color.Blue;
 
f.ShowDialog();
Maintenant, je veux ajouter un Label à ma Form. Le Label doit aussi être transparent, et pour l'instant, je n'affiche rien dedans.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
int x = 0, y = 0,
	largeur = Screen.PrimaryScreen.WorkingArea.Width,
	hauteur = Screen.PrimaryScreen.WorkingArea.Height;
 
Form f = new Form();
f.SetBounds(x, y, largeur, hauteur);
f.TransparencyKey = Color.Blue;
f.BackColor = Color.Blue;
 
Label l = new Label();
l.BackColor = Color.Transparent;
l.SetBounds(x, y, largeur, hauteur);
 
f.Controls.Add(l);
f.ShowDialog();
Et là, chez moi tout du moins, ça ne marche plus. Le Label prend la couleur du TransparencyKey que j'ai affecté à la Form, cad bleu.

Le plus étrange est que le Label est bien transparent si on utilise des dimensions inférieures, par exemple x=300, y=300, largeur=500, hauteur=500.

Voilà, je suis bien embêté pour mon projet actuel. Pourriez-vous me dire, déjà, si le problème survient pareil chez vous ? Et ensuite, si quelqu'un avait une solution ou une explication à proposer...

Merci beaucoup.