Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Разработка Windows Forms > Стиль отображения форм


Автор: luxadevianta 3.7.2009, 15:03
Люди, помогите! Нужно сделать так, чтобы окна моей программы под ХР отображались, как в классическом стиле даже когда в настройках пользователя выбран стиль ХР. Как это сделать?

Автор: DVariuS 3.7.2009, 15:08
Код

Application.VisualStyleState = System.Windows.Forms.VisualStyles.VisualStyleState.NoneEnabled;

Автор: Partizan 3.7.2009, 15:16
luxadevianta, в функции Main перед вызовом Application.Run закомментировать строчку Application.EnableVisualStyles();

Автор: DVariuS 3.7.2009, 15:19
Partizan, не поможет - я это в первую очередь попробовал, перед тем, как написать.

Автор: luxadevianta 3.7.2009, 16:00
Цитата(DVariuS @ 3.7.2009,  15:08)
Код

Application.VisualStyleState = System.Windows.Forms.VisualStyles.VisualStyleState.NoneEnabled;


А в первом фреймворке можно что-то сделать? Там в классе Application нет свойства VisualStyleState :(

Автор: DVariuS 3.7.2009, 16:11
luxadevianta, http://www.pinvoke.net/default.aspx/uxtheme.SetThemeAppProperties

Автор: Partizan 3.7.2009, 16:13
luxadevianta,  речь об окантовке окна, или о контролах, которые на нём лежат?

DVariuS, я подумал о контролах, а не об окантовке...потому и вариант соответствующий предложил

Автор: luxadevianta 3.7.2009, 17:09
А вот Application.EnableVisualStyles(); что конкретно делает?

Автор: Partizan 3.7.2009, 17:13
luxadevianta, применяет стили для всего приложения.

Автор: luxadevianta 3.7.2009, 17:18
Цитата(Partizan @ 3.7.2009,  16:13)
luxadevianta,  речь об окантовке окна, или о контролах, которые на нём лежат?

Речь шла о том, чтоб всё выглядело одинаково не зависимо от схем винды.

Проблема в том, что контролы как-то дивно разбегаются по окну, когда выставлен стиль ХР.

Пока, вроде бы, решил её тем, что выставил у форм свойства (в дизайнере)
Autoscale = false;
SnapToGrid = false;
DrawGrid = false;
и шрифт задал свой, отличающийся от шрифта по умолчанию.

У себя на компе проверил (передёрнул настройки стиля) - вроде бы, контролы на своих местах остаются. Посмотрю, как будет в институте на компах отображаться.

строки Application.EnableVisualStyles(); не было и ранее, ибо я метод Main ручками писал. 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)