VisualStyleState Enum


Specifies how visual styles are applied to the current application.

This enumeration has a FlagsAttribute attribute that allows a bitwise combination of its member values.

public enum class VisualStyleState
public enum VisualStyleState
public enum VisualStyleState
type VisualStyleState = 
Public Enum VisualStyleState


ClientAndNonClientAreasEnabled 3

Visual styles are applied to client and nonclient areas.

ClientAreaEnabled 2

Visual styles are applied only to the client area.

NonClientAreaEnabled 1

Visual styles are applied only to the nonclient area.

NoneEnabled 0

Visual styles are not applied to the application.


The following code example is a simple program that applies visual styles in each of the four areas specified by the VisualStyleState values. To enable visual styles in a certain area, click the option button (also known as a radio button) that represents the area you want to enable, and click the Update VisualStyleState button to observe the changes in the window.

#using <System.Drawing.dll>
#using <System.Windows.Forms.dll>
#using <System.dll>

using namespace System;
using namespace System::Drawing;
using namespace System::Windows::Forms;
using namespace System::Windows::Forms::VisualStyles;

namespace VisualStyleStateSample
    public ref class VisualStyleStateForm : public Form
        Button^ updateButton;
        RadioButton^ applyToClient;
        RadioButton^ applyToNonClient;
        RadioButton^ applyToAll;
        RadioButton^ disableStyles;

            updateButton = gcnew Button();
            applyToClient = gcnew RadioButton();
            applyToNonClient = gcnew RadioButton();
            applyToAll = gcnew RadioButton();
            disableStyles = gcnew RadioButton();

            updateButton->AutoSize = true;
            updateButton->Location = Point(10, 10);
            updateButton->Text = "Update VisualStyleState";
            updateButton->Click += gcnew EventHandler(this, 

            applyToClient->Location = Point(10, 50);
            applyToClient->AutoSize = true;
            applyToClient->Text = "Apply styles to client area only";

            applyToNonClient->Location = Point(10, 70);
            applyToNonClient->AutoSize = true;
            applyToNonClient->Text = "Apply styles to nonclient area only";

            applyToAll->Location = Point(10, 90);
            applyToAll->AutoSize = true;
            applyToAll->Text = "Apply styles to client and nonclient areas";

            disableStyles->Location = Point(10, 110);
            disableStyles->AutoSize = true;
            disableStyles->Text = "Disable styles in all areas";

            this->Text = "VisualStyleState Test";
            this->Controls->AddRange(gcnew array<Control^>{updateButton,
                applyToClient, applyToNonClient, applyToAll, disableStyles});

        void UpdateButton_Click(Object^ sender, EventArgs^ e)
            if (applyToClient->Checked)
                Application::VisualStyleState =
            else if (applyToNonClient->Checked)
                Application::VisualStyleState =
            else if (applyToAll->Checked)
                Application::VisualStyleState =
            else if (disableStyles->Checked)
                Application::VisualStyleState =

            // Repaint the form and all child controls.

int main()
    Application::Run(gcnew VisualStyleStateSample::VisualStyleStateForm());
using System;
using System.Drawing;
using System.Windows.Forms;
using System.Windows.Forms.VisualStyles;

namespace VisualStyleStateSample
    class Form1 : Form
        Button button1 = new Button();
        RadioButton radioButton1 = new RadioButton();
        RadioButton radioButton2 = new RadioButton();
        RadioButton radioButton3 = new RadioButton();
        RadioButton radioButton4 = new RadioButton();

        public Form1()
            button1.AutoSize = true;
            button1.Location = new Point(10, 10);
            button1.Text = "Update VisualStyleState";
            button1.Click += new EventHandler(button1_Click);

            radioButton1.Location = new Point(10, 50);
            radioButton1.AutoSize = true;
            radioButton1.Text = "Apply styles to client area only";

            radioButton2.Location = new Point(10, 70);
            radioButton2.AutoSize = true;
            radioButton2.Text = "Apply styles to nonclient area only";

            radioButton3.Location = new Point(10, 90);
            radioButton3.AutoSize = true;
            radioButton3.Text = "Apply styles to client and nonclient areas";

            radioButton4.Location = new Point(10, 110);
            radioButton4.AutoSize = true;
            radioButton4.Text = "Disable styles in all areas";

            this.Text = "VisualStyleState Test";
            this.Controls.AddRange(new Control[] { button1,  
                radioButton1, radioButton2, radioButton3, radioButton4});

        static void Main()
            Application.Run(new Form1());

        void button1_Click(object sender, EventArgs e)
            if (radioButton1.Checked)
                Application.VisualStyleState =
            else if (radioButton2.Checked)
                Application.VisualStyleState =
            else if (radioButton3.Checked)
                Application.VisualStyleState =
            else if (radioButton4.Checked)
                Application.VisualStyleState =

            // Repaint the form and all child controls.
Imports System.Drawing
Imports System.Windows.Forms
Imports System.Windows.Forms.VisualStyles

Namespace VisualStyleStateSample

    Class Form1
        Inherits Form
        Private WithEvents button1 As New Button()
        Private radioButton1 As New RadioButton()
        Private radioButton2 As New RadioButton()
        Private radioButton3 As New RadioButton()
        Private radioButton4 As New RadioButton()

        Public Sub New()
            With button1
                .AutoSize = True
                .Location = New Point(10, 10)
                .Text = "Update VisualStyleState"
            End With

            With radioButton1
                .Location = New Point(10, 50)
                .AutoSize = True
                .Text = "Apply styles to client area only"
            End With

            With radioButton2
                .Location = New Point(10, 70)
                .AutoSize = True
                .Text = "Apply styles to nonclient area only"
            End With

            With radioButton3
                .Location = New Point(10, 90)
                .AutoSize = True
                .Text = "Apply styles to client and nonclient areas"
            End With

            With radioButton4
                .Location = New Point(10, 110)
                .AutoSize = True
                .Text = "Disable styles in all areas"
            End With

            Me.Text = "VisualStyleState Test"
            Me.Controls.AddRange(New Control() {button1, radioButton1, _
                radioButton2, radioButton3, radioButton4})
        End Sub

        <STAThread()> _
        Shared Sub Main()
            Application.Run(New Form1())
        End Sub

        Sub button1_Click(ByVal sender As Object, ByVal e As EventArgs) _
            Handles button1.Click

            If radioButton1.Checked Then
                Application.VisualStyleState = _
            ElseIf radioButton2.Checked Then
                Application.VisualStyleState = _
            ElseIf radioButton3.Checked Then
                Application.VisualStyleState = _
            ElseIf radioButton4.Checked Then
                Application.VisualStyleState = _
            End If

            ' Repaint the form and all child controls.
        End Sub

    End Class
End Namespace


This enumeration is used by the Application.VisualStyleState property to specify whether visual styles are applied to client or nonclient areas of application windows.

Applies to