This class provides an encapsulation of all the information needed to specify how a text string should be formatted when rendered to a Graphics surface (e.g., through the Graphics.DrawString() method). Correspondingly, the string measurement methods (e.g., Graphics.MeasureString() ) also require a StringFormat object. You can specify basic formatting and alignment features (e.g., horizontal Alignment , vertical LineAlignment , and the StringFormatFlags familiar to anybody who has rendered text in GDI/GDI+ before, specifying wrapping and layout rules). You can also set display parameters such as the method for dealing with truncated strings ( Trimming ), whether to underline HotkeyPrefix , and the Unicode digit substitution method (see StringDigitSubstitute ). There is also basic control of the tab ruler with SetTabStops() and GetTabStops() , and the SetMeasurableCharacterRanges() method allows you to package up the text string into a series of ranges of characters whose individual regions can be measured. This might be useful if you needed to highlight selected portions of the text, for example. In case all this seems a little overwhelming just to render a text string, there are two static properties, GenericDefault and GenericTypographic , that provide StringFormat objects appropriate for general UI rendering and formal text display (e.g., in a word processing control), respectively. public sealed class StringFormat : MarshalByRefObject : ICloneable, IDisposable { // Public Constructors public StringFormat (); public StringFormat (StringFormat format ); public StringFormat (StringFormatFlags options ); public StringFormat (StringFormatFlags options , int language ); // Public Static Properties public static StringFormat GenericDefault {get; } public static StringFormat GenericTypographic {get; } // Public Instance Properties public StringAlignment Alignment {set; get; } public int DigitSubstitutionLanguage {get; } public StringDigitSubstitute DigitSubstitutionMethod {get; } public StringFormatFlags FormatFlags {set; get; } public HotkeyPrefix HotkeyPrefix {set; get; } public StringAlignment LineAlignment {set; get; } public StringTrimming Trimming {set; get; } // Public Instance Methods public object Clone (); // implements ICloneable public void Dispose (); // implements IDisposable public float[ ] GetTabStops (out float firstTabOffset ); public void SetDigitSubstitution (int language , StringDigitSubstitute substitute ); public void SetMeasurableCharacterRanges (CharacterRange[ ] ranges ); public void SetTabStops (float firstTabOffset , float[ ] tabStops ); public override string ToString (); // overrides object // Protected Instance Methods protected override void Finalize (); // overrides object } HierarchySystem.Object System.MarshalByRefObject StringFormat(System.ICloneabl, System.IDisposable) Passed ToSystem.Drawing.Drawing2D.GraphicsPath.AddString() , Graphics.{DrawString() , MeasureCharacterRanges() , MeasureString()} , System.Windows.Forms.ControlPaint.DrawStringDisabled() |