a long string that will wrap and centered both vertically and horizontally : Text Justify « 2D Graphics « C# / C Sharp






a long string that will wrap and centered both vertically and horizontally

 
    
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;

public class Form1 : Form {

    protected override void OnPaint(PaintEventArgs e) {
    Graphics g = e.Graphics;
    g.FillRectangle(Brushes.White, this.ClientRectangle);

    String s = "This is a long string that will wrap. ";
    s += "It will be centered both vertically and horizontally.";
    Font f = new Font("Arial", 12);
    StringFormat sf = new StringFormat();

    sf.Alignment = StringAlignment.Center;        
    sf.LineAlignment = StringAlignment.Center;    

    Rectangle r = new Rectangle(10, 10, 300, f.Height * 4);
    g.DrawRectangle(Pens.Black, r);
    g.DrawString(s, f, Brushes.Black, r, sf);
    f.Dispose();
    }
    public static void Main() {
        Application.Run(new Form1());
    }
}

 








Related examples in the same category

1.Draw left justified textDraw left justified text
2.Draw right justified textDraw right justified text
3.This text is centered and underlinedThis text is centered and underlined
4.Use tab to control the DrawString
5.String Rectangle
6.Draw the rectangle and draw the string, using the rectangle as a bounding box
7.use a 12pt font, and assume the text string must fit into a width of 150 pixels
8.With a 200px-width rectangle, and a 12pt font, it requires six lines to display the string in its entirety
9.Rotate the text 45 degrees clockwise and translate the text 150 pixels horizontally
10.Draw Rectangle surrounding the Text