using System; using System.Drawing; using System.Windows.Forms; class FourCorners: Form { public static void Main() { Application.Run(new FourCorners()); } public FourCorners() { Text = "Four Corners Text Alignment"; BackColor = SystemColors.Window; ForeColor = SystemColors.WindowText; ResizeRedraw = true; } protected override void OnPaint(PaintEventArgs pea) { Graphics graphics = pea.Graphics; Brush brush = new SolidBrush(ForeColor); StringFormat strfmt = new StringFormat(); strfmt.Alignment = StringAlignment.Near; strfmt.LineAlignment = StringAlignment.Near; graphics.DrawString("Upper left corner", Font, brush, 0, 0, strfmt); } }
2D Graphics
StringAlignment.Center
using System; using System.Drawing; using System.Windows.Forms; class HelloCenteredRectangle: Form { public static void Main() { Application.Run(new HelloCenteredRectangle()); } public HelloCenteredRectangle() { Text = "Hello Centered Using Rectangle"; BackColor = SystemColors.Window; ForeColor = SystemColors.WindowText; ResizeRedraw = true; } protected override void OnPaint(PaintEventArgs pea) { Graphics grfx = pea.Graphics; StringFormat strfmt = new StringFormat(); strfmt.Alignment = StringAlignment.Center; strfmt.LineAlignment = StringAlignment.Center; grfx.DrawString("Hello, world!", Font, new SolidBrush(ForeColor), ClientRectangle, strfmt); } }
String Alignment (PointF in DrawString)
using System;
using System.Drawing;
using System.Windows.Forms;
class StringAlignmentPoint: Form
{
public static void Main()
{
Application.Run(new StringAlignmentPoint());
}
public StringAlignmentPoint()
{
Text = “”;
ResizeRedraw = true;
}
protected override void OnPaint(PaintEventArgs pea)
{
DoPage(pea.Graphics, ForeColor,ClientSize.Width, ClientSize.Height);
}
protected void DoPage(Graphics grfx, Color clr, int cx, int cy)
{
Brush brush = new SolidBrush(clr);
Pen pen = new Pen(clr);
string[] strAlign = { “Near”, “Center”, “Far” };
StringFormat strfmt = new StringFormat();
grfx.DrawLine(pen, 0, cy / 2, cx, cy / 2);
grfx.DrawLine(pen, cx / 2, 0, cx / 2, cy);
for (int iVert = 0; iVert < 3; iVert += 2){ for (int iHorz = 0; iHorz < 3; iHorz += 2) { strfmt.LineAlignment = (StringAlignment)iVert; strfmt.Alignment = (StringAlignment)iHorz; grfx.DrawString( String.Format("LineAlignment = {0} Alignment = {1}", strAlign[iVert], strAlign[iHorz]), Font, brush, cx / 2, cy / 2, strfmt); } } } } [/csharp]
Enuermate the StringAlignment value
using System;
using System.Drawing;
using System.Windows.Forms;
class StringAlignmentRectangle: Form
{
public static void Main()
{
Application.Run(new StringAlignmentRectangle());
}
public StringAlignmentRectangle()
{
Text = “String Alignment (RectangleF in DrawString)”;
ResizeRedraw = true;
}
protected override void OnPaint(PaintEventArgs pea)
{
DoPage(pea.Graphics, ForeColor,ClientSize.Width, ClientSize.Height);
}
protected void DoPage(Graphics grfx, Color clr, int cx, int cy)
{
Brush brush = new SolidBrush(clr);
RectangleF rectf = new RectangleF(0, 0, cx, cy);
string[] strAlign = { “Near”, “Center”, “Far” };
StringFormat strfmt = new StringFormat();
for (int iVert = 0; iVert < 3; iVert++){ for (int iHorz = 0; iHorz < 3; iHorz++) { strfmt.LineAlignment = (StringAlignment)iVert; strfmt.Alignment = (StringAlignment)iHorz; grfx.DrawString( String.Format("LineAlignment = {0} Alignment = {1}", strAlign[iVert], strAlign[iHorz]), Font, brush, rectf, strfmt); } } } } [/csharp]
StringFormat.GenericTypographic
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); FontFamily ff = new FontFamily("Times New Roman"); Font f = new Font(ff, 12); String s = "Height: " + f.Height; SizeF sf = g.MeasureString(s, f, Int32.MaxValue,StringFormat.GenericTypographic); RectangleF r = new RectangleF(0, 0, sf.Width, f.Height); g.DrawRectangle(Pens.Black, r.Left, r.Top, r.Width, r.Height); g.DrawString(s, f, Brushes.Black, r, StringFormat.GenericTypographic); f.Dispose(); } public static void Main() { Application.Run(new Form1()); } }
StringFormat: Alignment, LineAlignment
using System; using System.Drawing; using System.Windows.Forms; class HelloCenteredRectangle: Form { public static void Main() { Application.Run(new HelloCenteredRectangle()); } public HelloCenteredRectangle() { BackColor = SystemColors.Window; ForeColor = SystemColors.WindowText; ResizeRedraw = true; } protected override void OnPaint(PaintEventArgs pea) { Graphics grfx = pea.Graphics; StringFormat strfmt = new StringFormat(); strfmt.Alignment = StringAlignment.Center; strfmt.LineAlignment = StringAlignment.Center; grfx.DrawString("Hello, world!", Font, new SolidBrush(ForeColor), ClientRectangle, strfmt); } }
Create a StringFormat object, and set the tab stops, in pixels
using System; using System.Drawing; using System.Drawing.Drawing2D; using System.Collections; using System.ComponentModel; using System.Windows.Forms; using System.Data; using System.Drawing.Imaging; public class Form1 : System.Windows.Forms.Form { public Form1() { InitializeComponent(); } private void InitializeComponent() { this.AutoScaleBaseSize = new System.Drawing.Size(5, 13); this.ClientSize = new System.Drawing.Size(292, 273); this.Text = ""; this.Resize += new System.EventHandler(this.Form1_Resize); this.Paint += new System.Windows.Forms.PaintEventHandler(this.Form1_Paint); } static void Main() { Application.Run(new Form1()); } private void Form1_Paint(object sender, System.Windows.Forms.PaintEventArgs e) { Graphics g = e.Graphics; g.FillRectangle(Brushes.White, this.ClientRectangle); Font f = new Font("Times New Roman", 12); Font bf = new Font(f, FontStyle.Bold); // StringFormat sf = new StringFormat(); float[] ts = { 10.0f, 70.0f, 100.0f, 90.0f }; sf.SetTabStops(0.0f, ts); // The escape-sequence in these lines specifies the tab string s1 = " A AAA AAAAAA AAAAAAAA"; string s2 = " AAAA AAAAAA AAAA A"; g.DrawString(s1, bf, Brushes.Black, 20, 20, sf); g.DrawString(s2, f, Brushes.Blue, 20, 20 + bf.Height, sf); f.Dispose(); bf.Dispose(); } private void Form1_Resize(object sender, System.EventArgs e) { Invalidate(); } }