Highlight sur une picturebox

Signaler
Messages postés
11
Date d'inscription
mardi 16 septembre 2003
Statut
Membre
Dernière intervention
23 mars 2009
-
Messages postés
2368
Date d'inscription
mardi 17 avril 2001
Statut
Modérateur
Dernière intervention
26 décembre 2007
-
J'aimerais pouvoir dessiner un rectangle jaune sur un picturebox qui permetterait de highlighter quelque chose d'important sur l'image de ce contrôle. Le problème est que je ne suis pas capable de voir à travers le rectangle jaune que je dessine sur l'image. Je dois voir l'information surligné.

Voici un exemple de code qui décrit ce que je fais:

private
void Form1_Load(
object sender, System.EventArgs e)

{
this.pictureBox1.Paint +=
new System.Windows.Forms.PaintEventHandler(
this.pictureBox1_Paint);
}


private
void pictureBox1_Paint(
object sender, System.Windows.Forms.PaintEventArgs e)
{

SolidBrush b =
new SolidBrush(Color.Yellow);

e.Graphics.FillRectangle(b, 60, 430, 150, 15);
}

J'imagine que je n'utilise pas la bonne méthode pour dessiner ou la mauvaise brush mais je n'ai pas réussi à trouver malgré plusieurs heures de recherche. Si quelqu'un pouvait m'aider ça serait très apprécié.

Guill

4 réponses

Messages postés
3466
Date d'inscription
lundi 16 octobre 2000
Statut
Modérateur
Dernière intervention
30 octobre 2008
47
Et un DrawRectangle plutot qu'un FillRectangle, ca te conviendrait pas ?

Mx
Messages postés
2368
Date d'inscription
mardi 17 avril 2001
Statut
Modérateur
Dernière intervention
26 décembre 2007
20
Le plus simple est de faire un usercontrol avec une propriété selected que tu implémentes.
Dans le UserControl tu mets une picturebox en mettant correctement les ancres et en laissant la place pour la bordure qui sera en fait la couleur de fond de ton usercontrol.

Ya plus qu'a implementé le onClick sut ta picturebox :)

::|The S@ib|::
MVP C#.NET
Messages postés
2368
Date d'inscription
mardi 17 avril 2001
Statut
Modérateur
Dernière intervention
26 décembre 2007
20
Mille excuses j'ai pas lu la question en fait , çà n'a rien a voir

::|The S@ib|::
MVP C#.NET
Messages postés
2368
Date d'inscription
mardi 17 avril 2001
Statut
Modérateur
Dernière intervention
26 décembre 2007
20
Pour ce que tu veux faire il faut utiliser l'alphablending

ex :

g.FillRectangle(new SolidBrush(Color.FromArgb(40, 0, 0, 255)), rect);

::|The S@ib|::
MVP C#.NET