DekGenius.com
[ Team LiB ] Previous Section Next Section

StringFormatmarshal by reference, disposable

System.Drawing (system.drawing.dll)sealed class

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
}

Hierarchy

System.Object System.MarshalByRefObject StringFormat(System.ICloneabl, System.IDisposable)

Passed To

System.Drawing.Drawing2D.GraphicsPath.AddString(), Graphics.{DrawString(), MeasureCharacterRanges(), MeasureString()}, System.Windows.Forms.ControlPaint.DrawStringDisabled()

    [ Team LiB ] Previous Section Next Section