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 :

Aide sur AutoEllipsis des Labels [Débutant]


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 13
    Par défaut Aide sur AutoEllipsis des Labels
    Bonjour,

    Voila lorsque je lis l'aide de Visual Basic il spécifie que lorsque qu'on utilise AutoEllipsis (a true) Lorsque la chaine de cararctère dépasse la dimension du label alors le texte s'affiche avec 3 petit point et si l'utilisateur passe la sourris dessus alors le label s'aggrandi et affiche la totalité de la chaine de caractère.

    C'est exactement ce que je voudrais mais voila quand j'utilise cette fonction il a bien les 3 petit point à la fin lorsque que le texte est trop grand mais quand je passe la souris dessus il n'y aucun changement et je ne peux pas voir le texte en intégralité.

    Quelqu'un peut il m'aider a ce sujet?

    Merci d'avance.

    Christophe

  2. #2
    Membre émérite
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2012
    Messages
    337
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2012
    Messages : 337
    Par défaut
    Bonjour,
    si l'utilisateur passe la sourris dessus alors le label s'aggrandi et affiche la totalité de la chaine de caractère.
    Ce n'est pas ce comportement qui se produit.
    Le texte complet est affiché dans un tooltip en laissant la souris dessus.

    Vous pouvez cependant créer le comportement souhaité en modifiant le propriété AutoSize du label sur les évènements MouseEnter et MouseLeave.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Private Sub Label1_MouseEnter(sender As System.Object, e As System.EventArgs) Handles Label1.MouseEnter
        DirectCast(sender, Label).AutoSize = True
    End Sub
     
    Private Sub Label1_MouseLeave(sender As System.Object, e As System.EventArgs) Handles Label1.MouseLeave
        DirectCast(sender, Label).AutoSize = False
    End Sub

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 13
    Par défaut
    Merci bcp c'et effectivement le fonctionnement que je souhaitais. Par contre j'aimerais aussi que lorsque la chaine de caractère est trop long et que par le biais de Autoellipsis il s'affiche avec 3peitits point j'ai que le texte soit rouge. Si le texte reste contenu dans l'étiquette label alors il reste noir. Peut-on détecter automatiquement si la chaine de caractère est trop grand par rapport au conteneur.

    Merci d'avance

    Christophe

  4. #4
    Membre émérite
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2012
    Messages
    337
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2012
    Messages : 337
    Par défaut
    Bonjour,
    On peut sur l'évènement Paint du Label, mesurer la longueur de la chaine de caractères contenue dans le label:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Private Sub Label1_Paint(sender As Object, e As System.Windows.Forms.PaintEventArgs) Handles Label1.Paint
        Dim lbl As Label = DirectCast(sender, Label)
        Dim _TextSize As SizeF = e.Graphics.MeasureString(lbl.Text, lbl.Font)
        If _TextSize.Width > lbl.Width Then
            lbl.ForeColor = Color.Red
        Else
            lbl.ForeColor = Color.Black
        End If
    End Sub

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

Discussions similaires

  1. [Flex4] Mettre des labels sur les points d'un graph
    Par Swarovsky dans le forum MXML
    Réponses: 0
    Dernier message: 29/10/2012, 23h12
  2. aide sur copier des feuilles Excel
    Par yacinew dans le forum Excel
    Réponses: 0
    Dernier message: 08/02/2012, 16h21
  3. Aide sur syntaxe des fonctions
    Par Lo² dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 08/07/2009, 20h04
  4. Réponses: 1
    Dernier message: 22/03/2006, 09h57
  5. [Regex] besoin d'aide sur des motifs
    Par Oluha dans le forum Général JavaScript
    Réponses: 13
    Dernier message: 25/11/2005, 11h23

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