Создание приложения vb.net, гармонирующего с темой Windows - PullRequest
0 голосов
/ 08 октября 2010

Раньше я занимался с VB6 разработкой пары личных проектов. После моего обновления до Windows 7 я решил немного повозиться с vb.net Express Edition 2010.

Если бы я хотел, чтобы мое приложение VB6 сливалось с визуальным стилем Windows, я бы использовал код и методы, описанные здесь . Короче говоря, я бы использовал файл Manifest и пару вызовов в приложении, и большинство элементов выглядело бы как применяемая тема XP. Если бы он был запущен в 2000, 95 или 98, то он бы выглядел как стандартное приложение Windows. Все было хорошо.

Теперь я перешел на vb.net, я написал простое приложение "Hello, world", но я абсолютно не представляю, как сделать так, чтобы он выглядел как тема Windows 7 (например, шрифт соответствует системе шрифт и виджеты оформлены правильно).

Простая смена шрифта - это взлом, и он будет выглядеть неуместно на компьютерах, которые настроены по-другому или работают под управлением другой версии Windows, где шрифт по умолчанию отличается.

Как мне убедиться, что мое приложение соответствует примененной теме Windows независимо от версии Windows?

1 Ответ

1 голос
/ 08 октября 2010

Многое происходит автоматически, если вы создаете приложение Windows Forms.Они будут (в основном) использовать стандартные встроенные элементы управления Windows, которые рисуют себя с помощью цветов темы.Но есть исключения:

  • шаблон элемента формы использует стандартный шрифт с именем Microsoft Sans Serif.Вам придется изменить его на Segoe UI, чтобы соответствовать Vista / Win7 по умолчанию.Это необходимо только для класса Form, все элементы управления, которые вы на него надеваете, автоматически наследуют этот шрифт.На компьютере с XP средство сопоставления шрифтов Windows заметит, что шрифт отсутствует, и автоматически вернется к MSS.

  • , класс MenuStrip использует пользовательский рендеринг для рисования пунктов меню.Он пытается соответствовать стилю Windows, когда вы изменяете свойство RenderMode на System, но способ рисования не соответствует стилю Win7.Щелкните правой кнопкой мыши на панели инструментов, выберите «Элементы» и выберите «Главное меню».Это унаследованная версия, в которой использует Windows для рисования меню, поэтому он создает правильный вид темы.

  • Очень похожая проблема для ToolStrip.Это устаревшая версия ToolBar.Это трудно проглотить, он не использует арматуру, из-за которой панель инструментов выглядит плоской и некрасивой.

Есть похожие проблемы в WPF, но с добавленной проблемой, что WPFне использует ни одного из стандартных элементов управления Windows.И ошибается в тонких местах.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...