The System.Windows.Forms.ContainerControl class and classes derived from it, such as System.Windows.Forms.Form, can automatically resize themselves and their contents according to either the current system font or the resolution of the display, measured in dots per inch (DPI). The System.Windows.Forms.AutoScaleMode enumeration defines the automatic scaling modes supported by these classes and their derived types. A control's current mode can be accessed through its ContainerControl.AutoScaleMode property.
Most business applications should use the AutoScaleMode.Font automatic scaling mode. The AutoScaleMode.Dpi scaling mode is useful for graphics-based applications and is compatible with the default scaling used by the .NET Compact Framework.
In the .NET Framework versions 1.0 and 1.1, automatic scaling was supported using a simpler mechanism that always relied on the current system font. This mechanism is now obsolete but still supported for backward compatibility. You can obtain the older scaling behavior by setting the Form.AutoScale property of the containing System.Windows.Forms.Form to true, which will also implicitly set the ContainerControl.AutoScaleMode property to AutoScaleMode.None. Conversely, setting the ContainerControl.AutoScaleMode property of a form will set Form.AutoScale to false, enabling the newer scaling mechanism introduced with the .NET Framework version 2.0.
Note that for Smartphone applications, this enumeration requires Windows Mobile Version 5.0 software for Smartphones.
Controls scale relative to the display resolution. Common resolutions are 96 and 120 DPI.
Controls scale relative to the dimensions of the font the classes are using, which is typically the system font.
Controls scale according to the classes' parent's scaling mode. If there is no parent, automatic scaling is disabled.
Automatic scaling is disabled.