Bonjour à tous,
Je voudrais bien écrire un texte explicatif en vertical (texte qui n'a pas besoin d'être modifié donc je pensais à un label mais il y a p-e plus simple).
Sauriez-vous m'indiquer la marche à suivre?
Merci d'avance,
Nicolas
Bonjour à tous,
Je voudrais bien écrire un texte explicatif en vertical (texte qui n'a pas besoin d'être modifié donc je pensais à un label mais il y a p-e plus simple).
Sauriez-vous m'indiquer la marche à suivre?
Merci d'avance,
Nicolas
J'ai trouvé une réponse de mon coté et pour VB.NET (en considérant que l'on se base sur un label lblDiam)Il y a surement moyen d'améliorer ce code mais j'ai seulement fait un essai car l'effet rendu n'était pas celui que j'attendais : le texte était bien vertical mais les lettres aussi. Moi je voulais seulement obtenir un texte vertical mais avec les lettres dans le sens normal de lecture.
Code VB : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 Private Sub dlgDieList_Paint(ByVal sender As System.Object, ByVal e As System.Windows.Forms.PaintEventArgs) Handles MyBase.Paint ' Ecrire un textel vertical Dim formGraphics As System.Drawing.Graphics = Me.CreateGraphics Dim drawFont As New System.Drawing.Font(lblDiam.Font, lblDiam.Font.Style) Dim drawBrush As New System.Drawing.SolidBrush(lblDiam.ForeColor) Dim drawFormat As New System.Drawing.StringFormat(StringFormatFlags.DirectionVertical) formGraphics.DrawString(lblDiam.Text, drawFont, drawBrush, lblDiam.Left, lblDiam.Top, drawFormat) drawFont.Dispose() drawBrush.Dispose() formGraphics.Dispose() End Sub
Et j'ai trouvé ma solution : désactiver la propriété AutoSize d'un label, réduire la largeur et augmenter la hauteur afin que chaque lettre passe à la ligne, et enfin mettre l'alignement du texte à TopCenter.
On aurait pu aussi laisser la propriété AutoSize à True et insérer un CrLf après chaque caractère du label mais on aurait pas pu voir l'effet rendu lors du desing.
Partager