2009-04-26 2 views
1

Я создал небольшое приложение с использованием Microsoft .NET. У меня нет проблем с версиями MS .NET, проблема в самой версии 2.0.Графическая совместимость с Microsoft .NET

Это графическая проблема. Приложение не показывает один и тот же пользовательский интерфейс на двух разных Windows XP. Один с классическим стилем, а другой - стиль XP. Также это не отображается под Vista.

Разница невелика (я имею в виду, что текстовое поле не превращается в кнопку!), Но дизайн полностью потерян (изменения цвета и расположение элементов управления). Это означает, что мое приложение выглядит дерьмовым в другом компьютеры, которые НЕ ХОРОШО, поскольку я потратил много времени на его разработку, хотя его можно использовать без проблем. это просто выглядит плохо

Как я могу решить эту проблему? для будущего проектирования приложений? Является ли WPF решением, или это еще хуже?

+1

Я не знаю, почему вас проголосовали, поскольку модератор не стал оставлять комментарий, поэтому мы никогда не узнаем. Но если я должен был догадаться, я бы привязал его к повторяющимся вопросительным знакам - одного вполне достаточно. – Calvin

+0

может быть, я все равно исправил его –

ответ

3

У вас есть несколько вариантов:

  1. Выключить визуальные стили и выглядят как классический интерфейс на всех ОС.
  2. Не используйте системные цвета и фиксируйте все цвета до действительных чисел.
  3. Используйте третий участник скины UI Frameworks как Developer Express http://devexpress.com/Products/NET/Controls/WinForms/Skins/ Black
  4. Перейти к WPF - это будет выглядеть одинаково (сглаживание может отличаться) на всех ОС, поддерживающей его.
+0

Спасибо, системные цвета действительно вызвали проблему. Я посмотрю на эту структуру, возможно, они лучше работают! –

+0

Я нахожу этот вариант 1 и 2 близким к чистому злу. При создании программы он должен выглядеть как можно более стандартным, и если кто-то решит изменить цвета системы, ваше приложение должно поддержать это, а не просто быть упрямым. Если вы используете цвета для целей графического отображения, вы не должны использовать системные цвета, но если вы используете цвета в графическом интерфейсе, вы должны попытаться использовать правильный цвет системы для поддержки текущих и будущих версий. При минимальном уровне вы должны поддерживать высококонтрастную схему. (Отметьте Office 2007, как справляться с цветовой схемой, но по-прежнему имеют уникальный внешний вид) –

+0

Я согласен с тем, что высокие контрастные и большие шрифты являются свойствами, которые вы должны соблюдать в приложении. Помимо этого, я не думаю, что требуется использовать только цвета системы и всегда выглядеть естественно. Многие современные программы, в том числе Office 2007, Live Tools, Adobe CS4, вообще не используют системные цвета и не плохо себя чувствуют. – Mash

2

Вы пытались использовать Application.EnableVisualStyles? Вы выделили различия между двумя разными компьютерами XP? Мне не совсем ясно, как выглядит ваше приложение в двух случаях - если бы вы могли добавить скриншот к своему вопросу, это очень помогло бы.

0

Вопрос: Вы должны спросить себя, действительно ли вы хотите игнорировать настройки пользовательского интерфейса, созданные вами пользователями. Если они выбирают стиль XP, тогда вы должны его игнорировать и показывать им какой-то другой стиль?

Смежные вопросы