none
comment faire défiler/scroller un text dans un label de droite à gauche RRS feed

  • Question

  • je voudrais savoir comment faire défiler un text de gauche à droite en continue.

     j'ai créer un label  et je voudrais que le text se deplace de gauche à droite  et qu'il revienne à gauche lorsque il à atteint le bord droit.

    merci à vous tous
    dimanche 13 juillet 2014 13:03

Réponses

  • bonjour,

    voici en l'image défilement de texte de haut, bas, droite et gauche :

    voici les codes :

    Public Class Form1
        Private Sub Défiler(ByVal X As Object, ByVal Y As Object, ByVal Direction As String, ByVal V As Integer)
            Select Case Direction
                Case Is = "Gauche"
                    X.left = IIf(X.left > -X.width, X.left - V, Y.width)
    
                Case Is = "Droite"
                    X.left = IIf(X.left < Y.width, X.left + V, -X.width)
    
                Case Is = "Haut"
                    X.top = IIf(X.top > -X.height, X.top - V, Y.height)
    
                Case Is = "Bas"
                    X.top = IIf(X.top < Y.height, X.top + V, -X.height)
            End Select
        End Sub
    
        Private Sub TGauche_Tick(sender As System.Object, e As System.EventArgs) Handles TGauche.Tick
            Call Défiler(Panel5, Panel1, "Gauche", 10)
        End Sub
    
        Private Sub TDroite_Tick(sender As System.Object, e As System.EventArgs) Handles TDroite.Tick
            Call Défiler(Panel6, Panel2, "Droite", 10)
        End Sub
    
        Private Sub THaut_Tick(sender As System.Object, e As System.EventArgs) Handles THaut.Tick
            Call Défiler(Panel8, Panel3, "Haut", 10)
        End Sub
    
        Private Sub TBas_Tick(sender As System.Object, e As System.EventArgs) Handles TBas.Tick
            Call Défiler(Panel7, Panel4, "Bas", 10)
        End Sub

    Maintenant vous avez 4 défilement a choisir : Haut, Bas , Droite, Gauche.

    Cordialement,

    • Proposé comme réponse zorro591 mercredi 16 juillet 2014 17:24
    • Marqué comme réponse Aurel Bera vendredi 18 juillet 2014 09:06
    lundi 14 juillet 2014 12:28

Toutes les réponses

  • bonjour,

    ça répond pas a ta question mais essayer ceci:

    Public Class Form1
    
        Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
            Timer1.Start()
        End Sub
    
        Private Sub Timer1_Tick(sender As System.Object, e As System.EventArgs) Handles Timer1.Tick
            If Label1.Text = "" Then
                Label1.Text = "b"
            ElseIf Label1.Text = "b" Then
                Label1.Text = "bo"
            ElseIf Label1.Text = "bo" Then
                Label1.Text = "bon"
            ElseIf Label1.Text = "bon" Then
                Label1.Text = "bonj"
            ElseIf Label1.Text = "bonj" Then
                Label1.Text = "bonjo"
            ElseIf Label1.Text = "bonjo" Then
                Label1.Text = "bonjou"
            ElseIf Label1.Text = "bonjou" Then
                Label1.Text = "bonjour"
            ElseIf Label1.Text = "bonjour" Then
                Label1.Text = ""
            End If
        End Sub
    End Class

    Le but de ce code c'est faire défiler mot par mot gauche a droite en continue.

    cordialement,

    dimanche 13 juillet 2014 18:31
  • merci pour ta reponse cela ne marche pas ,c'est pas vraiment ce que j'attendais

    c'est gentil de ta part si tu as d'autre exemple je suis preneur

    dimanche 13 juillet 2014 19:08
  • re,

    essayer ceci:

    Public Class Form1
        Dim MaChaine As String = "Qui va à la chasse perd sa place"
        Dim C As Integer = 0
        Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
            Timer1.Start()
        End Sub
    
        Private Sub Timer1_Tick(sender As System.Object, e As System.EventArgs) Handles Timer1.Tick
            If C <= MaChaine.Length Then
                Me.Label1.Text = Mid(MaChaine, 1, C)
                C = C + 1
            Else
                C = 0
            End If
        End Sub
    End Class

    je l'ai tester, il fonctionne tous les deux.

    dimanche 13 juillet 2014 19:14
  • oui ,c'est pas mal,je t' en remercie

    mais le but c'est de scroller à partir de la geuche vers la droite et ensuuite que le scroll continue  soit à partitr de la gauche ou soi en revenant vers la droiteje ce que je voudrais c'est à peu pres ce que qu'on voit dans les bus ou tram ou à la télé avec les prompts

    dimanche 13 juillet 2014 21:01
  • ...

    Public Class Form1
        Dim WithEvents timer As New Timer
        Dim chaine = "Ceci est un texte qui aimerait se déplacer. "
        Dim label As New Label
    
    
        Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
            Me.Controls.Add(label)
            timer.Interval = 1000
            timer.Start()
            label.Text = chaine
            label.Width = 100
            label.BorderStyle = BorderStyle.Fixed3D
        End Sub
    
        Sub timer_Tick() Handles Timer.Tick
            Dim nouvelleChaine = ""
            For i As Integer = 1 To chaine.Length - 1
                nouvelleChaine = nouvelleChaine + chaine(i)
            Next
            nouvelleChaine = nouvelleChaine + chaine(0)
            chaine = nouvelleChaine
            label.Text = nouvelleChaine
        End Sub
    End Class

    Il faudra peut-être utiliser autre chose qu'un Label...


    Nimzozo, from France.

    dimanche 13 juillet 2014 22:49
  • Voici la solution a ton problème :

    voici en image :

    j'ai utiliser 2 panel(un grand et un petit) , un timer1 et label1.text.

    voici en image :

    Tu vas dans timer1 et tu vois Enabled = false, tu remplace false par True.

    voici mes codes:

    Public Class Form1
        Private Sub Défiler(ByVal X As Object, ByVal Y As Object, ByVal Direction As String, ByVal V As Integer)
            Select Case Direction
                Case Is = "Gauche"
                    X.left = IIf(X.left > -X.width, X.left - V, Y.width)
    
                Case Is = "Droite"
                    X.left = IIf(X.left < Y.width, X.left + V, -X.width)
            End Select
        End Sub
    
        Private Sub Timer1_Tick(sender As System.Object, e As System.EventArgs) Handles Timer1.Tick
            Call Défiler(Panel2, Panel1, "Droite", 10)
        End Sub
    End Class

    dans Défiler, j'ai mis gauche et droite c'est a toi de choisir le sens défilement.

    cordialement,

    dimanche 13 juillet 2014 23:15
  • bonjour,

    voici en l'image défilement de texte de haut, bas, droite et gauche :

    voici les codes :

    Public Class Form1
        Private Sub Défiler(ByVal X As Object, ByVal Y As Object, ByVal Direction As String, ByVal V As Integer)
            Select Case Direction
                Case Is = "Gauche"
                    X.left = IIf(X.left > -X.width, X.left - V, Y.width)
    
                Case Is = "Droite"
                    X.left = IIf(X.left < Y.width, X.left + V, -X.width)
    
                Case Is = "Haut"
                    X.top = IIf(X.top > -X.height, X.top - V, Y.height)
    
                Case Is = "Bas"
                    X.top = IIf(X.top < Y.height, X.top + V, -X.height)
            End Select
        End Sub
    
        Private Sub TGauche_Tick(sender As System.Object, e As System.EventArgs) Handles TGauche.Tick
            Call Défiler(Panel5, Panel1, "Gauche", 10)
        End Sub
    
        Private Sub TDroite_Tick(sender As System.Object, e As System.EventArgs) Handles TDroite.Tick
            Call Défiler(Panel6, Panel2, "Droite", 10)
        End Sub
    
        Private Sub THaut_Tick(sender As System.Object, e As System.EventArgs) Handles THaut.Tick
            Call Défiler(Panel8, Panel3, "Haut", 10)
        End Sub
    
        Private Sub TBas_Tick(sender As System.Object, e As System.EventArgs) Handles TBas.Tick
            Call Défiler(Panel7, Panel4, "Bas", 10)
        End Sub

    Maintenant vous avez 4 défilement a choisir : Haut, Bas , Droite, Gauche.

    Cordialement,

    • Proposé comme réponse zorro591 mercredi 16 juillet 2014 17:24
    • Marqué comme réponse Aurel Bera vendredi 18 juillet 2014 09:06
    lundi 14 juillet 2014 12:28