Dessiner des lignes [ C# - Débutant] - C#/.NET managed - Programmation
Marsh Posté le 03-05-2007 à 20:39:15
en fait les deux paramètres que tu as besoins, c'est ceux que tu as dans ton arrayList
private void panel1_Paint( object sender, PaintEventArgs e )
{
Graphics graphicsObject = e.Graphics;
if (points != null && points.count == 2)
{
graphicsObject.DrawLine( pen, (Point)points[0], (Point)points[1] );
}
}
Marsh Posté le 08-05-2007 à 00:23:38
Merci, j'ai réussi à tracer des traits,
mais j'ai un problème: quand je trace un nouveau trait il efface le précédent...
Quelqu'un à la solution?
Code :
|
Jérôme
Marsh Posté le 08-05-2007 à 01:16:37
drawPanel.Invalidate(); // refresh panel
-> Tu actualise ton drawPanel donc ça t'efface ce que tu avais déjà dessiné dessus.
Marsh Posté le 08-05-2007 à 08:40:44
Bonjour, quand je supprime drawPanel.Invalidate(); il n'affiche plus rien,
une idée?
Marsh Posté le 08-05-2007 à 13:47:33
Je me suis mal exprimé.
La méthode invalidate provoque l'évènement OnPaint (qui redessine ton control).
Voila ce que fait ton code :
A chaque clique tu déclanche le OnPaint
Quand teller = 2 , le Onpaint efface ce que tu vais dessiné et dessine uniquement une ligne avec les 2 derniers points
Mais quand ta valeur teller ne vaut pas 2, Onpaint efface ce qu'il y avais dessus mais sans rien dessiné.
Marsh Posté le 08-05-2007 à 17:19:52
Merci beaucoup pour ton aide archimed,
je comprends maintenant le problème,
mais le livre que j'ai ( Deitel - C# for programmers ) n'offre malheureusement pas de solution au problème :-(
Lorsque je mets la method Invalidate sous le if, plus rien ne s'affiche...
Connaitrais-tu la solution?
Marsh Posté le 08-05-2007 à 18:50:28
Ca dépend de ce que tu veux faire.
Si tu veux dessiner tout les lignes avec un point en commun (ligne1 a pour coordonée (point1,point2) ligne2(point2,point3) ... )
Dans ton OnPaint tu peux faire :
Code :
|
ou sinon tu peux faire (ligne1 a pour coordonée (point1,point2) ligne2(point3,point4) ... ):
Code :
|
Sachant que ton code peux être simplifié, teller et i ne serve en réalité à rien le code complet :
Code :
|
Marsh Posté le 08-05-2007 à 19:10:13
Je ne sais comment te remercier archimed,
merci beaucoup pour ton aide et pour ton temps...
Si je peux t'aider (programmes graphiques) tu me contactes
Jérôme
Marsh Posté le 03-05-2007 à 11:12:27
Bonjour,
je cherche a faire un petit programme permettant de tracer des lignes droites,
en cliquant une fois pour le point de départ, et une deuxième fois pour le point de fin.
j'ai compris que je devais mettre les points dans une array
Si quelqu'un peut m'aider... Ce serait vraiment sympa
Jérôme
Message édité par jeromeke le 03-05-2007 à 11:13:15