Tracé de points en utilisant un timer

smog576 Messages postés 9 Date d'inscription dimanche 27 août 2006 Statut Membre Dernière intervention 26 janvier 2012 - 23 janv. 2012 à 10:28
cs_ShayW Messages postés 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 - 23 janv. 2012 à 21:39
Bonjour à tous,

Je dois réaliser un tracé de points qui doit se refaire toutes les 50 ms, en utilisant un timer.
Le problème c'est que je ne comprend rien à l'utilisation du timer ...

Dans un private sub button_click j'ai la création de ma liste de points de longueur 899, qui s'appelle liste.

A la fin de ce private sub, j'ai lancé le timer en utilisant : Timer1.Start()

Voici l'extrait :
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
'Bla bla bla bla bla      
Timer1.Start()
End Sub


Ensuite j'ai le private sub du timer_tick, et la dedans j'ai essayé de tracer les points de cette façon :
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick

        Dim x As Single
        Dim Gr As Graphics = Panel1.CreateGraphics()
        Dim myPen As New System.Drawing.Pen(System.Drawing.Color.Black)

        If liste(899) = 0 Then
        Else

            For l As Integer = 0 To 899
                mypoints(l) = New PointF(x + 75, liste(l) + 75)
                x = x + 0.2
            Next
            Gr.DrawLines(myPen, mypoints)
        End If
        Timer1.Stop()
    End Sub


Mais j'ai pas vraiement l'impression que ça marche ...
De plus comment changer l'échelle d'un panel ? mon tracé est tout petit et j'arrive pas à l'agrandir ...

Merci de votre aide !

3 réponses

Utilisateur anonyme
23 janv. 2012 à 12:34
Salut,

Timer1.start
Timer1.stop

Tu as trouvé ça où???
Fais plutôt:
'Pour le démarrer:
Timer1.interval = 50
Timer1.enabled = true
'Et pour l'arrêter:
Timer1.enabled = false


Cordialement


CF2i - Guadeloupe
Ingénierie Informatique
0
Utilisateur anonyme
23 janv. 2012 à 12:39
Ahh... voilà un exemple et le résultat de ton manque d'attention quant au choix de la rubrique choisie...
Tu mets ton code dans la rubrique VB6, or en VB6 "Timer1.Start/Stop" n'existe pas!!!

Tu es donc en VB.NET.



Cordialement


CF2i - Guadeloupe
Ingénierie Informatique
0
cs_ShayW Messages postés 3253 Date d'inscription jeudi 26 novembre 2009 Statut Membre Dernière intervention 3 décembre 2019 57
23 janv. 2012 à 21:39
Salut

le timer ne peut pas dessiner
les fonctions graphics sont appellé par
l'évenement OnPaint du control sur lequel
tu veux dessiner les points
si tu dessines sur ta form c'est l'évenement
OnPaint de ta form
si tu dessine dans un panel c'est l'évenement
OnPaint du panel
le timer n'a pas d'évenement OnPaint il n'est
pas destiné à cela

Je dois réaliser un tracé de points qui doit se refaire toutes les 50 ms


pas clair
tu as ta liste de point
le timer se déclenche
faut il tracer la ligne entre les deux premiers
points et à la prochaine entre le deuxieme et le troisieme et ainsi de suite
ou c'est autre chose
0
Rejoignez-nous