Вы, наверное, замечали, что элементы управления внутри формы у C#-программ не имеют стилей Windows XP (в отличие от самой формы). Например, форма может выглядеть так:
Для применения к элементам управления новых стилей Windows XP вы должны сделать две вещи. Во-первых, вы должны добавить к приложению возможность применения разных стилей. Для этого просто вызываем метод EnableVisualStyles:
static void Main()
{
// Добавляем возможность применнения стилей.
Application.EnableVisualStyles();
Application.Run(new Form1());
}
Обратите внимание, что это мы делаем до вызова метода Run.
И во-вторых, мы должны для всех элементов управления, имеющих свойство FlatStyle, присвоить этому свойству значение System. Тут трудность в том, что не все элементы поддерживают это свойство (те, которые не поддерживают, и так будут иметь стиль Windows XP). Это же свойство есть только у элементов управления, являющихся потомками класса ButtonBase (а именно Button, RadioButton и CheckBox). Изменять это свойство у все элементов управления, его имеющих - лень, так что лучше это сделать за один раз при загрузке формы, например так:
private void Form1_Load(object sender, System.EventArgs e)
{
// Перебираем все элементы на форме.
foreach(Control c in Controls)
{
// Если элемент есть потомок класса ButtonBase,
if(c is ButtonBase)
{
// то применяем стиль XP.
((ButtonBase)c).FlatStyle = FlatStyle.System;
}
}
}
После этого элементы управления на нашем окне будет выглядеть так: