J'essaie de dessiner un cercle mobile en fonction des coordonnées lues à partir d'un fichier XML. Pour le moment, le cercle ne dessine qu'une seule fois. Quelqu'un pourrait-il me montrer où je vais mal ?!Dessin à partir de l'analyse XML
La méthode EyeMove est appelée dans une boucle qui lit les X et les chaînes Y du XML et parse flotter
public void EyeMove(float x, float y)
{
point = new PointF(x, y);
Invalidate();
}
protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);
DrawCircle(e.Graphics, point.X, point.Y);
}
private void DrawCircle(Graphics g, float x, float y)
{
using (Brush semiTransBrush = new SolidBrush(Color.Coral))
{
using (Pen pen = new Pen(Color.Aquamarine, 2))
{
g.DrawEllipse(pen, x, y, 50, 50);
g.FillEllipse(semiTransBrush, x, y, 50, 50);
}
}
}
La boucle a-t-elle été exécutée plus d'une fois? Est-ce que les coordonnées x/y sont lues correctement par la boucle? – Equalsk
la boucle s'exécute plus d'une fois et les coordonnées sont lues correctement. Il ne semble pas que les informations PointF soient envoyées au formulaire pour peindre, mais je ne sais pas pourquoi – user8370201
Peut-être que l'exécution est trop rapide. Donc ce que vous avez vu est le dernier cercle dessiné. Essayez d'ajouter un délai (~ 50ms) à chaque itération de la boucle si c'est le cas. – kennyzx