Tracé de points en utilisant un timer

Signaler
Messages postés
9
Date d'inscription
dimanche 27 août 2006
Statut
Membre
Dernière intervention
26 janvier 2012
-
Messages postés
3258
Date d'inscription
jeudi 26 novembre 2009
Statut
Membre
Dernière intervention
3 décembre 2019
-
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


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

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
Messages postés
3258
Date d'inscription
jeudi 26 novembre 2009
Statut
Membre
Dernière intervention
3 décembre 2019
53
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