Como criar texto vertical

Você pode usar um StringFormat objeto para especificar que o texto seja desenhado verticalmente em vez de horizontalmente.

Exemplo

O exemplo a seguir atribui o valor DirectionVertical à FormatFlags propriedade de um StringFormat objeto. Esse StringFormat objeto é passado para o DrawString método da Graphics classe. O valor DirectionVertical é um membro da StringFormatFlags enumeração.

A ilustração a seguir mostra o texto vertical:

Graphic that shows vertical font text.

string myText = "Vertical text";

FontFamily fontFamily = new FontFamily("Lucida Console");
Font font = new Font(
fontFamily,
   14,
   FontStyle.Regular,
   GraphicsUnit.Point);
PointF pointF = new PointF(40, 10);
StringFormat stringFormat = new StringFormat();
SolidBrush solidBrush = new SolidBrush(Color.FromArgb(255, 0, 0, 255));

stringFormat.FormatFlags = StringFormatFlags.DirectionVertical;

e.Graphics.DrawString(myText, font, solidBrush, pointF, stringFormat);

Dim myText As String = "Vertical text"

Dim fontFamily As New FontFamily("Lucida Console")
Dim font As New Font( _
   fontFamily, _
   14, _
   FontStyle.Regular, _
   GraphicsUnit.Point)
Dim pointF As New PointF(40, 10)
Dim stringFormat As New StringFormat()
Dim solidBrush As New SolidBrush(Color.FromArgb(255, 0, 0, 255))

stringFormat.FormatFlags = StringFormatFlags.DirectionVertical

e.Graphics.DrawString(myText, font, solidBrush, pointF, stringFormat)

Compilando o código

Confira também