VisualStyleState 枚举


指定如何将视觉样式应用于当前应用程序。Specifies how visual styles are applied to the current application.

此枚举有一个 FlagsAttribute 属性,允许按位组合成员值。

public enum class 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.


下面的代码示例是一个简单的程序, 它在由VisualStyleState值指定的四个区域中的每个区域应用视觉样式。The following code example is a simple program that applies visual styles in each of the four areas specified by the VisualStyleState values. 若要在某个区域中启用视觉样式, 请单击表示要启用的区域的选项按钮 (也称为单选按钮), 然后单击 "更新 VisualStyleState " 按钮以观察窗口中的更改。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


此枚举由Application.VisualStyleState属性用来指定视觉样式是否应用于应用程序窗口的客户端或非工作区。This enumeration is used by the Application.VisualStyleState property to specify whether visual styles are applied to client or nonclient areas of application windows.