VB.NET Как мне создать скин для приложения vb.net

StackOverflow https://stackoverflow.com/questions/238650

  •  04-07-2019
  •  | 
  •  

Вопрос

Я хочу создать скин для приложения vb.net. Я сделал, погуглил кое-что и видел приложения vb.net со скином.

Однако кажется, что каждый раз, когда я пытаюсь найти кого-нибудь, объясняющего это, это ссылка на оплату продукта.

Есть ли у кого-нибудь что-нибудь полезное по этому поводу?


Я видел несколько бесплатных способов сделать это программно, но, похоже, я не могу полностью перевести это на мою собственную уникальную программу.

Это было полезно?

Решение

Я помню, как делал "скиннибл" vb.net winforms приложение (медиаплеер), когда я был еще студентом (возможно, 6 лет назад).

Это было некрасиво, но то, как я это сделал, было следующим:

<Ол>
  • Выберите цвет прозрачности. Где бы вы ни использовали этот цвет, приложение будет прозрачным (я использовал Fuchsia (# FF00FF), который, как я помню, был стандартом для видеоигр в те времена.

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

  • Создайте изображения для элементов управления на шаге 2.

  • Установите для этих элементов управления заполнители с цветным покрытием шириной 1 пиксель. Например, синий пиксель был моей кнопкой воспроизведения, зеленый пиксель был моей кнопкой паузы и т. Д. Заполнитель отметил верхний левый угол элемента управления.

  • Во время выполнения динамически генерируйте элементы управления (на самом деле изображения с событиями onclick) и размещайте их поверх заполнителей.

  • Я уверен, что есть более хороший способ сделать это, но это был мой грубый подход.

    Другие советы

    Я больше увлекаюсь, но вот как вы можете это сделать: Создайте класс, который должен быть инициализирован с помощью winform и пути к «файлу настроек». Из конструктора:

    <Ол>
  • Чтение в файле настроек (я бы просто что-то создал в XML)
  • Прокрутите все элементы управления на упомянутой winform и примените цвета переднего / заднего плана, изображения, прозрачность и т. д., как указано в файле настроек.
  • Просто создайте экземпляр класса во всех ваших формах.
  • Возможно, это был бы лучший способ, но это было почти то, что я делал в прошлый раз, когда был на нем. Обычно я указываю " стиль " для каждого типа элемента управления - текстовое поле, поле со списком и т. д., а затем учитывайте особые случаи, используя свойство элемента управления тега.

    Не уверен, насколько это полезно.

    К сожалению, VB.NET не предоставляет «скины» из коробки. Он просто использует стандартный интерфейс Windows. Единственные изменения в пользовательском интерфейсе вносятся при изменении свойств экрана.

    Мне неизвестен проект с открытым исходным кодом, который обеспечивает функциональность скинов, однако я использовал ряд коммерческих продуктов. Безусловно, одним из лучших, которые я использовал, является среда разработки стилей приложений, найденная в NET Advantage от Infragistics.

    Как говорилось в предыдущих ответах, сделать это в ванильном VB сложно, но есть бесплатная альтернатива (все еще в VB).К сожалению, вам придется многому научиться и переписать свое приложение для работы с WPF (Windows Presentation Foundation).

    Проще говоря, WPF — это замена WinForms (который вы, вероятно, сейчас используете).Основное отличие состоит в том, что WPF основан на векторах и не зависит от разрешения, тогда как WinForms основан на растровых изображениях.Результаты WPF выглядят великолепно, но здесь нужно многому научиться.

    Вы можете легко создать обложку для приложения WPF, и в примерах Microsoft показано, как это сделать.Использование WPF может ограничить количество систем, которые вы можете установить, поскольку для этого требуется .Net 3.0 (лучше всего использовать 3.0 SP1 или 3.5 SP1, если можете).

    Быстрый поиск в Google WPF и скинов показывает многообещающие результаты.

    Райан

    Лицензировано под: CC-BY-SA с атрибуция
    Не связан с StackOverflow
    scroll top