IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Defilement d'un texte dans un panel [Débutant]


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 135
    Par défaut Defilement d'un texte dans un panel
    Salut à tous

    J'ai un code pour déplacer un label de gauche à droite sur une distance définie. mais voilà, je n'arrive pas à la modifier pour faire ce que je souhaiterais.

    Je m'en remet donc à vous pour trouver une solution.

    Voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Dim bDroite1 As Boolean = True
     
    Private Sub Timer3_Tick(sender As System.Object, e As System.EventArgs) Handles Timer3.Tick
            'deplacement du controle de lecture
             If bDroite1 Then If LabTitreLecture.Left + LabTitreLecture.Width < 330 Then LabTitreLecture.Left = LabTitreLecture.Left + 5
            If bDroite1 And LabTitreLecture.Left + LabTitreLecture.Width >= 300 Then bDroite1 = False
                If Not bDroite1 Then If LabTitreLecture.Right >= 0 Then LabTitreLecture.Left = LabTitreLecture.Left - 5
                If Not bDroite1 And LabTitreLecture.Left < 0 Then bDroite1 = True
        End Sub
    Avec ce code, le label se déplace vers la gauche jusqu'à ce que son extrémité droite arrive à la position maximum puis il revient vers la droite jusqu'à ce que son estrémité gauche arrive à la position minimum.

    Ce que je voudrais, c'est qu'il se déplace vers la gauche jusqu'à ce que son extréminté gauche arrive à la position maximum puis reivenne à la position minimum vers la droite jusqu'à son extémité droite.

    J'ai tenté de modifier des Left en right mais VB 2010 le dsi que right est read only.

    Si vous avez une solution, je suis preneur.

    Merci par avance.

    @+ Martipit

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    700
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 700
    Par défaut
    Bonjour,
    pourtant votre code semble répondre à votre demande, à savoir un Label se promenant de droite à gauche et vice versa dans un Panel, tout en restant toujours visible.
    Votre code légèrement modifié :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
        Dim bDroite1 As Boolean = True
     
        Private Sub Timer3_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer3.Tick
     
            'deplacement du controle de lecture
            If bDroite1 Then If LabTitreLecture.Right <= lngPanel1 Then LabTitreLecture.Left += 5
            If bDroite1 And LabTitreLecture.Right > lngPanel1 Then bDroite1 = False
     
            If Not bDroite1 Then If LabTitreLecture.Left > 0 Then LabTitreLecture.Left -= 5
            If Not bDroite1 And LabTitreLecture.Left <= 0 Then bDroite1 = True
     
        End Sub
    et appelé avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
        Dim lngPanel1 As Integer
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnTimer.Click
     
            lngPanel1 = Panel1.Width
     
            If Timer3.Enabled Then
                Timer3.Stop()
            Else
                Timer3.Start()
            End If
     
        End Sub

  3. #3
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    135
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 135
    Par défaut
    Salut chrismonoye

    Merci pour ton aide.

    En fait, mon probleme ne venait pas de mon code mais de la longueur du label

    Si'il est plus petit ou plus grand que le panel ca change tout. Avec ce que tu m'a donné et ce que j'avais, j'ai fait un mix des deux et là ca fonctionne dans tous les cas.

    Voici le code que j'ai fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     'deplacement du controle de lecture si plus grand que la case
            If Label1.Width > Panel1.Width Then
                If bDroite1 Then If Label1.Left <= 3 Then Label1.Left += 2
                If bDroite1 And Label1.Left > 3 Then bDroite1 = False
     
                If Not bDroite1 Then If Label1.Right > Panel1.Width - 3 Then Label1.Left -= 2
                If Not bDroite1 And Label1.Right <= Panel1.Width - 3 Then bDroite1 = True
            End If
     
            'deplacement du controle de lecture si plus petit que la case
            If Label1.Width < Panel1.Width Then
                If bDroite1 Then If Label1.Right <= Panel1.Width - 3 Then Label1.Left += 2
                If bDroite1 And Label1.Right > Panel1.Width - 3 Then bDroite1 = False
     
                If Not bDroite1 Then If Label1.Left > 3 Then Label1.Left -= 2
                If Not bDroite1 And Label1.Left <= 3 Then bDroite1 = True
            End If
    Là, cela semble fonctionner quelque soit la longueur du label


    Merci à toi et bonne fin de Week end

    @+ Martipit

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant] écrire un texte dans un panel
    Par slaima15 dans le forum Interfaces Graphiques
    Réponses: 1
    Dernier message: 18/08/2010, 07h57
  2. Formatage de texte dans un Panel
    Par BuzzLeclaire dans le forum Composants VCL
    Réponses: 18
    Dernier message: 06/10/2008, 18h06
  3. Faire defiler Texte dans un label
    Par Techsan dans le forum Composants VCL
    Réponses: 5
    Dernier message: 08/06/2003, 23h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo