Kbitnik
Messages postés125Date d'inscriptionmercredi 15 novembre 2000StatutMembreDernière intervention 2 mars 2006
-
26 janv. 2006 à 10:29
Kbitnik
Messages postés125Date d'inscriptionmercredi 15 novembre 2000StatutMembreDernière intervention 2 mars 2006
-
16 févr. 2006 à 10:52
Bonjour à tous,
j'ai encore une fois un petit problème. Je m'explique, j'utilise le DrawEllipse() lorsque je clique sur un boutton.
Donc il m'affiche correctement mon cercle à l'endroit que je souhaite, le problème est que lorque par exemple je redimensionne ma fenetre lors de l'utilisation de mon appli, le cercle d'efface or ce que je voudrais c'est qu'il ne s'efface pas comme avec l'uitlisation de l'événement OnPaint.
Lutinore
Messages postés3246Date d'inscriptionlundi 25 avril 2005StatutMembreDernière intervention27 octobre 201241 26 janv. 2006 à 13:12
Salut, les dessins avec GDI+ ne sont pas persistants, tu peux rajouter un appel à la méthode Invalidate dans l'évènement Resize de ta forme ou dans la méthode protegée OnResize ou bien utiliser la méthode SetStyles avec le flag ControlStyles.ResizeRedraw. Mais dans tous les cas les dessins se font dans l'évènement Paint ou alors tu crées un Graphics avec CreateGraphics.
using ( Graphics g = this.CreateGraphics( ) )
{
// ..
}
Kbitnik
Messages postés125Date d'inscriptionmercredi 15 novembre 2000StatutMembreDernière intervention 2 mars 2006 27 janv. 2006 à 17:12
Par contre, j'ai juste une dernire petite question à ce sujet, lorsque je réduis mon formulaire, donc le rond se réduit en même (chose que je voulais faire), seulement que lorsque je réduis la fenetre, l'image clignote beaucoup, est-ce normal ? et y a t'il un moyen de remédier à ce problème ?
cs_yo99
Messages postés4Date d'inscriptionsamedi 27 septembre 2003StatutMembreDernière intervention16 février 2006 16 févr. 2006 à 10:01
salut,
j'ai le meme probleme que kbitnik en fait mais g pas du tout compris ski est expliqué avec cette classe "partiel" !
en fait j'utilise un model MVC et je voudrai creer des formes graphic sur le click d'un boutton.
le probleme c que mon affichage s'eeface des que je deplace la fentre en dehors de l'ecran :(
c possible de m'aider ??
Merci
Kbitnik
Messages postés125Date d'inscriptionmercredi 15 novembre 2000StatutMembreDernière intervention 2 mars 2006 16 févr. 2006 à 10:12
Salut, si tu ne veux pas que les éléments graphiques de ta form ne soient pas persistants, je pense que tu as juste a le mettre dans l'événement OnPaint. Moi là, je met mes graph dans le Onpaint lorsque je déplace ou même resize ma form, rien ne s'efface.
cs_yo99
Messages postés4Date d'inscriptionsamedi 27 septembre 2003StatutMembreDernière intervention16 février 2006 16 févr. 2006 à 10:28
le truc c que c ca que je comprend pas bien en fait c koi exactement que je dois mettre dans cet evenement onPaint ?
en fait g une fonction qui me crée mes graphique et que j'appele dans une boucle donc je voit pas trop c quoi que je ddois mettre dans cet evenement
Kbitnik
Messages postés125Date d'inscriptionmercredi 15 novembre 2000StatutMembreDernière intervention 2 mars 2006 16 févr. 2006 à 10:30
Pour dessiner sur ta form ou un bouton je suppose que tu utilises des instructions comme par exemple :
Graphics g = this.createGraphics();
g.DrawRectangle(....);
Kbitnik
Messages postés125Date d'inscriptionmercredi 15 novembre 2000StatutMembreDernière intervention 2 mars 2006 16 févr. 2006 à 10:42
Et bien c instructions en faite tu les mets dans l'événement Form_OnPaint()
Donc en faite si tu travailles avec Visual Studio.net 2003 comme moi, tu clique sur ta form tu vas dans les propriétés, il y a un éclair jaune (c'est les évenements), tu cliques dessus, tu regardes après OnPaint et tu double-cliques dessus il va t'ouvrir une méthode Form_OnPaint() dans ton code de ta form, et puis tu mets tes instructions graphiques dans cette méthodes en faisant comme ceci au début :
Graphics g = e.graphics;
et puis là, tu mets tes instructions :
g.drawrectangle....
Kbitnik
Messages postés125Date d'inscriptionmercredi 15 novembre 2000StatutMembreDernière intervention 2 mars 2006 16 févr. 2006 à 10:45
Attends je suis peut etre en train de dire une bétise, si c'est le onpaint de ta form je parle, après si tu veux tu peu aussi faire le onpaint de ton boutton, je pense que c'est plus cela que tu veux toi, donc toi en faite tu sélectionnes ton bouton, propriétés, double cliques sur OnPaint et là il te générera l'événement Button1_OnPaint() et non Form_OnPaint()
cs_yo99
Messages postés4Date d'inscriptionsamedi 27 septembre 2003StatutMembreDernière intervention16 février 2006 16 févr. 2006 à 10:51
merci beaucoup Kbitnik ca marche nickel :) !!
je me prenais la tete pour rien en fait j'avais pas trop compris le principe et en fait c pas compliqué !!
merci pour ton aide