Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Dessin effacé par un form avec la class Graphics [ Windows / Formulaire / Winforms / Controls ] (metos)

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


Cette discussion est classé 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

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Comparez les prix Nouvelle version

Photothèque Nouveau !



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
Temps d'éxécution de la page : 0,452 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.