2011-03-16 5 views
0

J'ai un ensemble de points tracés. Après avoir fait défiler la barre de suivi, je veux qu'ils disparaissent et qu'un nouvel ensemble de points apparaisse. Maintenant le problème est le je ne peux pas ajouter le code pour ajouter les points dans la méthode de peinture elle-même parce qu'elle implique beaucoup de calculs et n'est donc pas efficace. J'ai essayé d'utiliser Invalidate() mais dans ce cas mes points apparaissent pendant une fraction de seconde puis disparaissent. Je veux qu'ils soient affichés jusqu'à ce que je clique sur le bouton ou déplace la barre de suivi.Tracer des points, puis les retirer

Comment s'y prendre.

Merci.

Répondre

0

Dans votre fonction qui calcule les points, stockez les points dans une liste. Dans la fonction peinture, dessiner selon la liste. Si nécessaire pour changer les points, effacez simplement la liste des points et en enregistrez de nouveaux. N'oubliez pas de Invalidate()

De cette façon, à chaque appel de Paint, les points sont dessinés. vous pouvez toujours mettre à jour votre liste séparément dans d'autres fonctions. Lorsque vous mentionnez les points qui apparaissent puis disparaissent, il semble que vous ayez dessiné les points en dehors de la fonction de peinture. Est-ce vrai? Quand quelque chose arrive, la peinture dessine votre dessin.

+0

Oui J'ai dessiné les points en dehors de la méthode Paint. Alors dere n'est pas autre chose que de dessiner les points dans la méthode de peinture? – olive

+0

@olive, vous devriez dessiner à l'intérieur de la fonction de peinture. sinon, lorsque la peinture est appelée (peut-être en raison du défilement, d'une autre fenêtre qui se déplace, etc.), la peinture supprimera les points que vous avez dessinés. –

+0

okey merci une tonne .. – olive

Questions connexes