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 :

[Vb.Net] - Label vertical


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Juillet 2004
    Messages : 31
    Par défaut [Vb.Net] - Label vertical
    Est-ce que l'on peut en Visual Basic 2005, mettre une étiquette (label) ou un TextBox verticalement? Autrement dit, prendre l'étiquette horizontal et la faire tourner de 90, 180, 240, 360 degré?

    Comment faire ?

  2. #2
    Membre Expert
    Avatar de olsimare
    Inscrit en
    Décembre 2006
    Messages
    1 182
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 182
    Par défaut
    Bonjour.

    Tu peux te faire un label personnalisé dans lequel tu géres le dessin comme ceci :
    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
     
        Protected Overrides Sub OnPaint(ByVal e As PaintEventArgs)
     
            Dim foFormat As New StringFormat() 
            foFormat.Alignment = StringAlignment.Center
            foFormat.LineAlignment = StringAlignment.Center
     
            Dim m As New System.Drawing.Drawing2D.Matrix
            m.Rotate(intAngle) ' intAngle c'est ton angle à toi
            e.Graphics.Transform = m
            e.Graphics.DrawString(Me.Text, Me.Font, New SolidBrush(Me.ForeColor), Me.ClientRectangle, foFormat)
     
            foFormat.Dispose()
            m.Dispose()
     
        End Sub
    L'idée c'est d'appliquer une rotation au graphics du control via une matrix de transformation (dans l'exemple intAngle c'est un integer qui définit ton angle).

    Mais bon le résultat est assez moche (illisible) je trouve et faut positionner autosize à false sinon c'est raté !

    Pour le vertical, creuse du côté de StringFormatFlags.DirectionVertical.

    Cdt.

Discussions similaires

  1. [Vb.Net] - Label vertical
    Par Claude Robin dans le forum VB.NET
    Réponses: 1
    Dernier message: 13/09/2007, 18h06
  2. [VB.NET] Label - Un timer pour tous ?
    Par b_lob dans le forum Windows Forms
    Réponses: 2
    Dernier message: 01/05/2006, 15h56
  3. [VB.NET] Label sur plusieurs lignes
    Par boulete dans le forum Windows Forms
    Réponses: 11
    Dernier message: 20/04/2006, 17h59
  4. [VB.NET] label transparent ?
    Par RiiiDD dans le forum Windows Forms
    Réponses: 2
    Dernier message: 05/04/2006, 14h31
  5. [VB.NET] Label dynamique.
    Par Sadneth dans le forum ASP.NET
    Réponses: 2
    Dernier message: 04/02/2005, 15h46

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