Визуальные стили — это цвета, шрифты и другие визуальные элементы, формирующие тему операционной системы. Элементы управления будут отображаться с визуальными стилями, если элемент управления и операционная система поддерживают это. Чтобы добиться эффекта, метод EnableVisualStyles() необходимо вызывать перед созданием каких-либо элементов управления в приложении; обычно EnableVisualStyles() является первой строкой в функции Main.
Итак, если вам нужно, чтобы ваше приложение выглядело в соответствии с текущей темой ОС, вам нужно вызвать this. Если вам достаточно классического вида Windows, вы можете пропустить это. Лично я никогда не включаю визуальные стили для своих серверных приложений (таких как панели управления и т. д.).
Ниже показан инструмент конфигуратора без включенных визуальных стилей. Меня это хорошо ищет, поэтому EnableVisualStyles
было пропущено:
Краткий обзор метода Application.EnableVisualStyles()
с отражателем показан ниже в коде метода EnableVisualStyles -> EnableVisualStylesInternal -> CreateActivationContext
:
if (!contextCreationSucceeded && OSFeature.Feature.IsPresent(OSFeature.Themes))
{
enableThemingActivationContext = new ACTCTX();
enableThemingActivationContext.cbSize = Marshal.SizeOf(typeof(ACTCTX));
enableThemingActivationContext.lpSource = dllPath;
enableThemingActivationContext.lpResourceName = (IntPtr) nativeResourceManifestID;
enableThemingActivationContext.dwFlags = 8;
hActCtx = CreateActCtx(ref enableThemingActivationContext);
contextCreationSucceeded = hActCtx != new IntPtr(-1);
}
Если OSFeature.Feature.IsPresent(OSFeature.Themes)
возвращает false, EnableVisualStyles
не имеет абсолютно никакого эффекта, поэтому вызов его или нет не имеет значения.
person
Teoman Soygul
schedule
15.05.2011