begin process at 2010 02 09 19:11:04
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C#

 > 

Windows

 > 

Formulaire / Winforms / Controls

 > 

Dessin effacé par un form avec la class Graphics


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Dessin effacé par un form avec la class Graphics

vendredi 13 juin 2008 à 09:48:13 | Dessin effacé par un form avec la class Graphics

metos

Bonjour,

    J'utilise la classe graphic pour dessiner des traits, le problème c'est que si une Form passe devant les traits sont effacé, comment puis-je rafraichir ou evite qu'il s'efface?
merci d'avance

metos
vendredi 13 juin 2008 à 10:01:46 | Re : Dessin effacé par un form avec la class Graphics

lemmingperceval

Peux-tu poster ton code s'il te plait, je n'arrive pas à reproduire ton problème.
vendredi 13 juin 2008 à 10:09:05 | Re : Dessin effacé par un form avec la class Graphics

metos

System.Drawing.Pen myPen = new System.Drawing.Pen(System.Drawing.Color.Red);
            myPen.Width = 4;
           
            PictureHardware.Refresh();
            Graphics graph = PictureHardware.CreateGraphics();
            graph.DrawLine(myPen, new Point(startX, startY), new Point(startX, startY+Height));
            graph.DrawLine(myPen, new Point(startX, startY + Height), new Point(startX+Width, startY + Height));
            graph.DrawLine(myPen, new Point(startX + Width, startY + Height), new Point(startX + Width, startY));
            graph.DrawLine(myPen, new Point(startX + Width, startY), new Point(startX, startY));
            graph.Flush();

pictureHardware et une pictureBox avec une image et je dessine au dessus de l'image.
merci

metos
vendredi 13 juin 2008 à 10:17:55 | Re : Dessin effacé par un form avec la class Graphics

lemmingperceval

Poste tout le code de ta classe, c'est dans quel événement que tu peint?
vendredi 13 juin 2008 à 10:20:03 | Re : Dessin effacé par un form avec la class Graphics

lemmingperceval

Je pense comprendre ton problème. Le code que tu as posté plus haut, il ne s'exécute pas sur l'événement Paint de ta pictureBox, vria?
vendredi 13 juin 2008 à 10:38:15 | Re : Dessin effacé par un form avec la class Graphics

metos

Ce code est execturé dans une fonction drawpicture, apparement il faut que j'utilise comme tu le dis l'event paint, je dois déclare dans l'initialize l'event ?

metos
vendredi 13 juin 2008 à 10:52:05 | Re : Dessin effacé par un form avec la class Graphics

lemmingperceval

Réponse acceptée !

public

partial class Form1 : Form

{

private LineCollection myLineCollection;

public Form1()

{

#region

InitializeComponent

this .pictureHardware = new System.Windows.Forms. PictureBox ();

((System.ComponentModel.

ISupportInitialize )( this .pictureHardware)).BeginInit();

this .SuspendLayout();

//

// pictureHardware

//

this .pictureHardware.Dock = System.Windows.Forms. DockStyle .Fill;

this .pictureHardware.Location = new System.Drawing. Point (0, 0);

this .pictureHardware.Name = "pictureHardware" ;

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

this .pictureHardware.TabIndex = 0;

this .pictureHardware.TabStop = false ;

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

//

// Form1

//

this .AutoScaleDimensions = new System.Drawing. SizeF (6F, 13F);

this .AutoScaleMode = System.Windows.Forms. AutoScaleMode .Font;

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

this .Controls.Add( this .pictureHardware);

this .Name = "Form1" ;

this .Text = "Form1" ;

this .Load += new System. EventHandler ( this .Form1_Load);

((System.ComponentModel.

ISupportInitialize )( this .pictureHardware)).EndInit();

this .ResumeLayout( false );

#endregion

this .myLineCollection = new LineCollection ();

}

private void pictureHardware_Paint( object sender, PaintEventArgs e)

{

Pen myPen = new Pen ( new SolidBrush ( Color .Red));

foreach ( Line l in this .myLineCollection)

e.Graphics.DrawLine(myPen, l.StartX, l.StartY, l.StopX, l.StopY);

}

private void Form1_Load( object sender, EventArgs e)

{

this .myLineCollection.Add( new Line (10, 10, 20, 20));

this .myLineCollection.Add( new Line (10, 60, 20, 70));

this .myLineCollection.Add( new Line (10, 110, 20, 120));

this .myLineCollection.Add( new Line (10, 160, 20, 170));

}

}

public class LineCollection : List < Line >

{

}

public class Line

{

private int startX;

public int StartX

{

get { return startX; }

set { startX = value ; }

}

private int startY;

public int StartY

{

get { return startY; }

set { startY = value ; }

}

private int stopX;

public int StopX

{

get { return stopX; }

set { stopX = value ; }

}

private int stopY;

public int StopY

{

get { return stopY; }

set { stopY = value ; }

}

public Line( int startX, int startY, int stopX, int stopY)

{

this .startX = startX;

this .startY = startY;

this .stopX = stopX;

this .stopY = stopY;

}

}

vendredi 13 juin 2008 à 11:08:13 | Re : Dessin effacé par un form avec la class Graphics

metos

merci

metos


Cette discussion est classée dans : form, class, dessin, graphics, traits


Répondre à ce message

Sujets en rapport avec ce message

pb avec une class en c# [ par JCpp ] Je ne comprends pas pourquoi quand je change Toto.toto=0; par Toto.toto=1; dans Form2.cs, le programme n'exécute pasrichTextBox1.AppendText("Form 3"+T dessiner un rectangle sur les controles [ par LeGnuff ] Bonjour !j'ai un objget Graphics associé à une formj'aurais aimé savoir s'il y avait un moyen d'utiliser la méthodeGraphics.DrawRectangle(...) en fais Comment dessiner un cadre sur une Form ??? [ par Gwaihir ] Bein tout est dans le titre, j'ai besoin de dessiner un cadre sur une form. Je suppose qu'il faut créer un graphics puis dessiner un rectangle dedans afficher un dessin sur une image [ par godefrw ] Bonjour,Je désirerais afficher un dessin au dessus d'une image. J'ai crée une pictureBox dans laquelle je charge une image. Ensuite je crée un Graphic Liens entre form et class, je sais c souvent demander, mais je ne comprend pas toujours les reponses [ par red_doudou ] Bonjour voila mon probleme tout bete, et qui m empeche de poursuivre J ai une form principal, j aimerais pouvoir acceder aux boutons ou certaine me graphics et dessin [ par cudenetf ] bonjour,je veux dessiner un tableau ( " a la main" ) en utilisant l'objet graphicsmais je suis novice en la matiere et ne maitrise pas tous les elemen Graphics [ par emmanuel9 ] Bonjour à tous, En faite j'ai un panel avec un dessin à l'interieur et je voudrais que quand je redimmensionne mon panel mon dessin à l'interieur se Utilisation de Graphics [ par nerix27 ] Bonjour, j'essaie de puis un p'tit moment d'afficher des rectangles et lignes sur ma form, mais en vain...Il doit me manquer une petite chose à faire. Problème pour modifier les paramètre d'une FormA à partir d'une FormB [ par Arkalis2000 ] Bonsoir, Voilà, j'ai un problème concernant la gestion des forms sous C# .NET 2005, je suis sur le problème depuis plusieurs jours et j'ai beau essay Probleme avec la class Graphics [ par Cisaks ] Bonjour, Je ne vois pas trop comment expliquer mon probleme .Un panel peut contenir plusieurs controles. Ces


Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,562 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales