VisualStyleInformation Class
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Provides information about the current visual style of the operating system.
public ref class VisualStyleInformation abstract sealed
public static class VisualStyleInformation
type VisualStyleInformation = class
Public Class VisualStyleInformation
- Inheritance
-
VisualStyleInformation
Examples
The following code example displays the values of the VisualStyleInformation properties in a ListView control.
// This is a simple example for VisualStyleInformation that displays
// all of the visual style values in a ListView.
#using <System.Drawing.dll>
#using <System.Windows.Forms.dll>
#using <System.dll>
using namespace System;
using namespace System::Drawing;
using namespace System::Text;
using namespace System::Reflection;
using namespace System::Windows::Forms;
using namespace System::Windows::Forms::VisualStyles;
namespace VisualStyleInformationSample
{
public ref class StyleInfo : public Form
{
private:
ListView^ displayStyleInfo;
public:
StyleInfo()
{
this->displayStyleInfo = gcnew ListView();
this->ClientSize = System::Drawing::Size(500, 500);
this->Text = "VisualStyleInformation Property Values";
displayStyleInfo->Bounds = System::Drawing::Rectangle
(System::Drawing::Point(10, 10),System::Drawing::Size(400, 300));
displayStyleInfo->View = View::Details;
displayStyleInfo->FullRowSelect = true;
displayStyleInfo->Sorting = SortOrder::Ascending;
Type^ typeInfo = VisualStyleInformation::typeid;
Object^ propertyValue;
// Declare an array of static/Shared property details for the
// VisualStyleInformation class.
array<PropertyInfo^>^ elementProperties = typeInfo->GetProperties
(BindingFlags::Static | BindingFlags::Public);
String^ name;
// Insert each property name and value into the ListView.
for each (PropertyInfo^ property in elementProperties)
{
name = property->Name;
propertyValue = property->GetValue(nullptr,
BindingFlags::Static, nullptr, nullptr, nullptr);
ListViewItem^ newItem = gcnew ListViewItem(name, 0);
newItem->SubItems->Add(propertyValue->ToString());
displayStyleInfo->Items->Add(newItem);
}
// Create columns for the items and subitems.
displayStyleInfo->Columns->Add("Property", -2,
System::Windows::Forms::HorizontalAlignment::Left);
displayStyleInfo->Columns->Add("Value", -2,
System::Windows::Forms::HorizontalAlignment::Left);
// Add the ListView to the control collection.
this->Controls->Add(displayStyleInfo);
}
};
}
int main()
{
Application::EnableVisualStyles();
Application::Run(gcnew VisualStyleInformationSample::StyleInfo());
}
// This is a simple example for VisualStyleInformation that displays
// all of the visual style values in a ListView.
using System;
using System.Drawing;
using System.Text;
using System.Reflection;
using System.Windows.Forms;
using System.Windows.Forms.VisualStyles;
namespace VisualStyleInformationSample
{
public class Form1 : Form
{
private ListView listView1 = new ListView();
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.Run(new Form1());
}
public Form1()
{
this.ClientSize = new Size(500, 500);
this.Text = "VisualStyleInformation Property Values";
listView1.Bounds = new Rectangle(new Point(10, 10),
new Size(400, 300));
listView1.View = View.Details;
listView1.FullRowSelect = true;
listView1.Sorting = SortOrder.Ascending;
Type typeInfo = typeof(VisualStyleInformation);
StringBuilder name = new StringBuilder();
object propertyValue;
// Declare an array of static/Shared property details for the
// VisualStyleInformation class.
PropertyInfo[] elementProperties =
typeInfo.GetProperties(BindingFlags.Static | BindingFlags.Public);
// Insert each property name and value into the ListView.
foreach (PropertyInfo property in elementProperties)
{
name.Append(property.Name);
propertyValue = property.GetValue(null,
BindingFlags.Static, null, null, null);
ListViewItem newItem = new ListViewItem(name.ToString(), 0);
newItem.SubItems.Add(propertyValue.ToString());
listView1.Items.Add(newItem);
name.Remove(0, name.Length);
}
// Create columns for the items and subitems.
listView1.Columns.Add("Property", -2, System.Windows.Forms.HorizontalAlignment.Left);
listView1.Columns.Add("Value", -2, System.Windows.Forms.HorizontalAlignment.Left);
// Add the ListView to the control collection.
this.Controls.Add(listView1);
}
}
}
Imports System.Drawing
Imports System.Text
Imports System.Reflection
Imports System.Windows.Forms
Imports System.Windows.Forms.VisualStyles
Namespace VisualStyleInformationSample
Public Class Form1
Inherits Form
Private listView1 As New ListView()
<STAThread()> _
Shared Sub Main()
Application.EnableVisualStyles()
Application.Run(New Form1())
End Sub
Public Sub New()
Me.Text = "VisualStyleInformation Property Values"
Me.AutoSize = True
With listView1
.Bounds = New Rectangle(New Point(10, 10), New Size(400, 300))
.View = View.Details
.Sorting = SortOrder.Ascending
End With
' Get an array of property details for the
' VisualStyleInformation class.
Dim typeInfo As Type = GetType(VisualStyleInformation)
Dim elementProperties As PropertyInfo() = _
typeInfo.GetProperties(BindingFlags.Static Or BindingFlags.Public)
' Use these variables to store the name and value of each property.
Dim propertyName As New StringBuilder()
Dim propertyValue As Object
Dim prop As PropertyInfo
For Each prop In elementProperties
' Get the name and value of the current property.
propertyName.Append(prop.Name)
propertyValue = prop.GetValue(Nothing, BindingFlags.Static, _
Nothing, Nothing, Nothing)
' Insert the property name and value into the ListView.
Dim newItem As New ListViewItem(propertyName.ToString(), 0)
newItem.SubItems.Add(propertyValue.ToString())
listView1.Items.Add(newItem)
' Clear the property name for the next iteration.
propertyName.Remove(0, propertyName.Length)
Next prop
' Create columns for the items and subitems.
listView1.Columns.Add("Property", -1, _
System.Windows.Forms.HorizontalAlignment.Left)
listView1.Columns.Add("Value", -1, _
System.Windows.Forms.HorizontalAlignment.Left)
Me.Controls.Add(listView1)
End Sub
End Class
End Namespace
Remarks
This class exposes static
properties that provide details about the current visual style of the operating system.
Properties
Author |
Gets the author of the current visual style. |
ColorScheme |
Gets the color scheme of the current visual style. |
Company |
Gets the company that created the current visual style. |
ControlHighlightHot |
Gets the color that the current visual style uses to indicate the hot state of a control. |
Copyright |
Gets the copyright of the current visual style. |
Description |
Gets a description of the current visual style. |
DisplayName |
Gets the display name of the current visual style. |
IsEnabledByUser |
Gets a value indicating whether the user has enabled visual styles in the operating system. |
IsSupportedByOS |
Gets a value indicating whether the operating system supports visual styles. |
MinimumColorDepth |
Gets the minimum color depth for the current visual style. |
Size |
Gets a string that describes the size of the current visual style. |
SupportsFlatMenus |
Gets a value indicating whether the current visual style supports flat menus. |
TextControlBorder |
Gets the color that the current visual style uses to paint the borders of controls that contain text. |
Url |
Gets a URL provided by the author of the current visual style. |
Version |
Gets the version of the current visual style. |