Salut,
Est-ce que vous savez si il est possible avec une PictureBox que les contours du controle s'adaptent à la forme de l'image, ou mieux, si il est possible d'appliquer de la transparence sur le controle?
Merci
Version imprimable
Salut,
Est-ce que vous savez si il est possible avec une PictureBox que les contours du controle s'adaptent à la forme de l'image, ou mieux, si il est possible d'appliquer de la transparence sur le controle?
Merci
Code:
1
2
3
4
5
6
7
8 using System using System.Drawing; using System.Windows.Forms; //... this.Panel1.BackColor = Color.Transparent; this.Panel1.BorderStyle = BorderStyle.None;
fenetre de propriétés de ton contrôle, background color, onglet web, transparent ;)
Arf, ca ne marche pas. Je vais détailler un peu plus:
J'ai une première pictureBox (une image de fond)
Par dessus, je veux mettre plusieurs pictureBox, mais je veux pouvoir appliquer de la transparence sur les images du dessus afin de laisser apparaitre l'image du dessous.
8O
j'ai jamais eu ce problème, au contraire, ca a toujours bien marché :koi:
tu ne redéfini pas ta couleur de fond quelque part dans ton code ?
Sinon essaie peut-être ceci :
Ca définit la couleur du pixel inférieur gauche de ton image comme couleur transparente...Code:((Bitmap)MaPicBox.Image).MakeTransparent(((Bitmap)MaPicBox.Image).GetPixel(0,MaPicBox.Image.Size.Height-1));
joujou_le_fou: quel framework?
j'ai justement eu ton probleme lorsque je suis passé à la beta 2 du FX 2.0. bug que je n'avais pas auparavant. Donc. quel FX utilises-tu?
J'ai essayé les 2 framework. Le résultat est le même.
SLE, j'ai essayé ton code, et malheureusement, il ne marche pas.
Je pense avoir compris ce qu'il se passe: la transparence de l'image du dessus est appliqué par rapport au backgroud de la Form. Ce qui fait que si je change la couleur de fond de la form, l'image du dessus prend en effet la couleur du backgroud de la form.
N'y a t il pas moyen de faire comprende à la form qu'il y a une image entre celle du dessus et le beckgroud de la form?
Mon idée est celle-ci, si tu ne l'a déjà fait
Ordonner tes containers, je m'explique
Pour ton PictureBox1, c'est je suppose
Utilises maintenant ton PictureBox comme Container des autres controles ajoutésCode:
1
2 this.Controls.Add(this.PictureBox1);
Maintenant si tu as défini la transparence comme indiqué en première solution pour ces nouvelles PictureBox, elles devraient laisser apparaître PictureBox1Code:
1
2 this.PictureBox1.Controls.AddRange(new Control[]{this.PictureBox5,this.PictureBox4,this.PictureBox3,this.PictureBox2};
Ok j'ai essayé ta solution neguib et elle marche, en la combinant à celle de SLE. Merci à tous