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

Windows Forms Discussion :

Hauteur du saut de ligne dans un label


Sujet :

Windows Forms

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2010
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 29
    Points : 25
    Points
    25
    Par défaut Hauteur du saut de ligne dans un label
    Bonjour,

    Est'il possible de régler la hauteur des sauts de lignes dans un label ?

    Et si oui comment faire ?

  2. #2
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2011
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2011
    Messages : 14
    Points : 11
    Points
    11
    Par défaut
    Je me pose la même question. Du coup je me permet de relancer le sujet.
    Si quelqu'un à la réponse, n'hésitez pas

  3. #3
    Expert confirmé
    Inscrit en
    Avril 2008
    Messages
    2 564
    Détails du profil
    Informations personnelles :
    Âge : 64

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 564
    Points : 4 442
    Points
    4 442
    Par défaut interligne personnalise dans un controle label
    bonjour Xarik
    la personnalisation de l' interligne dans un label n'est pas disponible.
    mais rien n'empeche de creer un controle personnalise heritant de Label qui gere l'interligne.
    Il faut quand meme savoir :
    - la valeur de l'interligne courant =espacement ligne+hauteur du font
    - l'interligne courant est donnee dans la prop Font.GetHeight (readonly)
    - la hauteur du font est donnee dans la prop Font.Height (readonly)
    Ceci fait que :
    -espacement ligne=Font.GetHeight -Font.Height
    A partir de la rien n'empeche de creer un controle personnalise customlabel qui herite de Label et dispose de 2 proprietes :
    -Espacement ligne.
    -Text multiline qui splitte "vbcrl" .
    et de "peindre" le text dans l'evemenent paint.
    exemple code du controle personnalise customLabel
    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
     
    Imports System.ComponentModel
     
    Public Class CustomLabel
        Inherits Label
        Private m_text As String
        Public Sub New()
     
            ' Cet appel est requis par le Concepteur Windows Form.
            InitializeComponent()
     
            ' Ajoutez une initialisation quelconque après l'appel InitializeComponent().
            'Assigne l'espacement ligne par defaut
            Me.m_lineSpacing = Me.Font.Height - Me.Font.GetHeight
        End Sub
        Protected Overrides Sub OnPaint(ByVal e As System.Windows.Forms.PaintEventArgs)
            'MyBase.OnPaint(e)
     
            'Ajoutez ici votre code de dessin personnalisé
            Dim lblText As String = Me.Text
            Dim arrayString() As String = Split(lblText, vbCrLf)
            Dim g As Graphics = e.Graphics
            Dim font As Font = Me.Font
            Dim brush As Brush = New SolidBrush(Me.ForeColor)
            Dim lineSpacing As Double = Me.LineSpacing
            Dim size As SizeF = g.MeasureString("A", font)
     
            Dim pos As Double = 0.0F
            For numLine As Integer = 0 To arrayString.Length - 1
                Dim lineToDraw As String = arrayString(numLine)
                g.DrawString(lineToDraw, font, brush, 0.0F, pos)
                pos = pos + size.Width + lineSpacing
            Next
     
        End Sub
        <Browsable(True)> _
       Public Overrides Property Text() As String
            Get
                Return m_text
            End Get
            Set(ByVal value As String)
                m_text = value
                Me.Invalidate()
            End Set
        End Property
        Private m_lineSpacing As Double
        <Browsable(True)> _
        Public Property LineSpacing() As Double
            Get
                Return m_lineSpacing
            End Get
            Set(ByVal value As Double)
                If value <= 0 Then
                    m_lineSpacing = Me.Font.Height - Me.Font.GetHeight
                Else
                    m_lineSpacing = value
                End If
                Me.Invalidate()
            End Set
        End Property
     
    End Class
    bon code...................

Discussions similaires

  1. Saut de ligne dans les labels
    Par RoM_CoOl dans le forum Débuter
    Réponses: 26
    Dernier message: 10/12/2007, 11h53
  2. saut de ligne dans un label
    Par piotrr dans le forum Tkinter
    Réponses: 4
    Dernier message: 03/05/2007, 15h03
  3. Saut de ligne dans un label
    Par spikto dans le forum Composants VCL
    Réponses: 11
    Dernier message: 02/01/2006, 12h23
  4. Export vers Excel et saut de ligne dans cellule
    Par sbeu dans le forum API, COM et SDKs
    Réponses: 4
    Dernier message: 16/08/2004, 15h53
  5. Nombre de sauts de ligne dans un String
    Par Johnbob dans le forum ASP
    Réponses: 7
    Dernier message: 03/03/2004, 15h33

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