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 :
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 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();
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.
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();
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.
Partager