Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
FlatStyle Enumeration
Collapse the table of content
Expand the table of content

FlatStyle Enumeration

Specifies the appearance of a control.

[Visual Basic]
Public Enum FlatStyle
public enum FlatStyle
__value public enum FlatStyle
enum FlatStyle


This enumeration is used by members such as ButtonBase.FlatStyle, GroupBox.FlatStyle, and Label.FlatStyle.

In the case of the Popup style button, this enumeration controls some behavior as well as appearance. The Popup style control initially appears Flat until the mouse pointer moves over it. When the mouse pointer moves over the Popup control, it appears as a Standard style control until the mouse pointer is moved off of it again.

If the System style is used, the appearance of the control is determined by the user's operating system and the following property values will be ignored: Control.BackgroundImage, ImageAlign, Image, ImageIndex, ImageList, and TextAlign. In addition, the Control.BackColor property will be ignored for button controls. If supported, users can change the appearance of controls by adjusting the appearance settings of their operating system.

Note   When the FlatStyle property of the RadioButton and CheckBox classes is set to FlatStyle.System, the control is drawn by the user's operating system and the check alignment is based upon the CheckAlign and ButtonBase.TextAlign property values. The CheckAlign property value is not changed, but the appearance of the control can be affected. The check box is horizontally aligned with either the left or right edge of the control (a left or center alignment appears left aligned, right remains unchanged), and vertically aligned the same as the descriptive text. For example, if you have a CheckBox control with a CheckAlign property value of ContentAlignment.MiddleCenter and a TextAlign property value of ContentAlignment.TopRight, and the FlatStyle property value is set to FlatStyle.System, the check box alignment will appear to be ContentAlignment.TopLeft while the text alignment remains unchanged.
CAUTION   Setting the FlatStyle property to FlatStyle.System is not advisable if you need to display an image on a control, display an image as a control's background, or perform precise text alignment.

Windows Server 2003 family Platform Note:  To make your Windows Forms application support Windows XP visual styles, be sure to set the FlatStyle property to FlatStyle.System and include a manifest with your executable. A manifest is an XML file that is included either as a resource within your application executable or as a separate file that resides in the same directory as the executable file. For an example of a manifest, see the Example section. For more information about using the visual styles available in Windows XP, see the Using Windows XP Visual Styles in the User Interface Design and Development section of the MSDN Library.


Member name Description
Flat The control appears flat.
Popup A control appears flat until the mouse pointer moves over it, at which point it appears three-dimensional.
Standard The control appears three-dimensional.
System The appearance of the control is determined by the user's operating system.


The following is an example of a manifest to allow your application to support the visual styles available in Windows XP. The manifest can be added to your application as a resource or as a stand-alone text file. The manifest file resides in the same directory as the executable file, and the name of the text file must be the complete name of the executable file with an additional file name extension of .manifest. For example, the manifest file for MyApp.exe would be MyApp.exe.manifest. This example assumes that the FlatStyle properties of the controls in your application are set to FlatStyle.System.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<description>Your application description here.</description>


Namespace: System.Windows.Forms

Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family

Assembly: System.Windows.Forms (in System.Windows.Forms.dll)

See Also

System.Windows.Forms Namespace | OnMouseEnter | OnMouseLeave

© 2015 Microsoft