Dessiner un simple rectangle [Résolu]

Yoteco 112 Messages postés lundi 20 octobre 2003Date d'inscription 5 novembre 2008 Dernière intervention - 1 sept. 2005 à 14:54 - Dernière réponse : Yoteco 112 Messages postés lundi 20 octobre 2003Date d'inscription 5 novembre 2008 Dernière intervention
- 5 sept. 2005 à 18:37
Bonjour,



J'aimerais dessiner un simple rectangle au centre de ma fenêtre qui mesure 300 x 300 pixels



Mais je n'y arrive pas !!!



voici mon code:



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

{

Pen crayon = new Pen(Color.Red, 10);

Rectangle rectangle = new Rectangle(150,150,100,70);

e.Graphics.DrawRectangle(crayon,rectangle);

}



qu'y a-t-il de faut ????



Merci d'avance

Et une côtellette à la bière pour Gérard
Afficher la suite 

Votre réponse

6 réponses

Meilleure réponse
sebmafate 4947 Messages postés lundi 17 février 2003Date d'inscription 14 février 2014 Dernière intervention - 1 sept. 2005 à 16:11
3
Merci
as-tu essayé ceci :

protected
override
void OnPaintBackground(PaintEventArgs pevent)
{

base.OnPaintBackground (pevent);
Pen crayon =
new Pen(Color.Red, 10F);
Rectangle rect =
new Rectangle(150,150,100,70);
pevent.Graphics.DrawRectangle(crayon, rect);
crayon.Dispose(); // <<--- ne pas oublié
}

Sébastien FERRAND

Merci sebmafate 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 95 internautes ce mois-ci

Commenter la réponse de sebmafate
Meilleure réponse
Lutinore 3248 Messages postés lundi 25 avril 2005Date d'inscription 27 octobre 2012 Dernière intervention - 5 sept. 2005 à 17:38
3
Merci
Le base.OnPaintBackground est inutile dans ce context, la seule raison que je vois pour que ton évènement ne soit pas appelé c'est que la méthode OnPaint est définie dans ton code, non !? Soit tu ne l'utilise pas soit tu l'écris comme ca:

protected override void OnPaint( PaintEventArgs e )
{
base.OnPaint( e ); // Appel les délégués inscrits !

// ...
}

Merci Lutinore 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 95 internautes ce mois-ci

Commenter la réponse de Lutinore
Yoteco 112 Messages postés lundi 20 octobre 2003Date d'inscription 5 novembre 2008 Dernière intervention - 1 sept. 2005 à 16:25
0
Merci
Ta fonction fonctionne! Mais je ne comprend pas pourquoi la mienne ne fonctionne pas



En tout cas merci pour ton aide!


Et une côtellette à la bière pour Gérard
Commenter la réponse de Yoteco
Lutinore 3248 Messages postés lundi 25 avril 2005Date d'inscription 27 octobre 2012 Dernière intervention - 1 sept. 2005 à 18:00
0
Merci
Salut, ta méthode fonctionne, es tu sûr de l'avoir abonnée à l'évènement Paint ?

this.Paint += new PaintEventHandler( Form1_Paint );
Commenter la réponse de Lutinore
Yoteco 112 Messages postés lundi 20 octobre 2003Date d'inscription 5 novembre 2008 Dernière intervention - 5 sept. 2005 à 09:16
0
Merci
Oui regarde mon initialisation:



private void InitializeComponent()

{

//

// Form1

//

this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);

this.ClientSize = new System.Drawing.Size(292, 273);

this.Name = "Form1";

this.Text = "Form1";

this.Paint +=
new System.Windows.Forms.PaintEventHandler(this.Form1_Paint);

}



puis ma méthode paint:



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

{

base.OnPaintBackground(e);

Pen crayon = new Pen(Color.Red, 10);

Rectangle rectangle = new Rectangle(100,90,100,70);

e.Graphics.DrawRectangle(crayon,rectangle);

crayon.Dispose();

}



je n'arrive vraiment pas à comprendre pourquoi sa ne marche pas

Et une côtellette à la bière pour Gérard
Commenter la réponse de Yoteco
Yoteco 112 Messages postés lundi 20 octobre 2003Date d'inscription 5 novembre 2008 Dernière intervention - 5 sept. 2005 à 18:37
0
Merci
J'ai tout recontrôler mon code et cette fois-ci sa marche ! Merci !

Ce qui est incompréhensible, c'est que le monde soit compréhensible. (Albert Einstein)
Commenter la réponse de Yoteco

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.