Как придать профессиональное оформление моему приложению Windows .NET? - PullRequest
19 голосов
/ 26 декабря 2009

Я использую WINFORMS, а не WPF.

Я просто знаю основы программирования на c # .net. Я не хочу, чтобы традиционные окна выглядели. Я хочу иметь свой собственный внешний вид (например, gtalk, антивирусные программы, медиаплееры, Google Chrome).

На самом деле меня вдохновляет программное обеспечение Google PICASA. Это потрясающе. Я хочу сделать что-то подобное. Как я могу это сделать? Если есть что-то, чему я должен научиться, пожалуйста, укажите мне.

Также, возможно, мне придется написать свои собственные элементы управления (например, измененный вид дерева и т. Д.), Я думаю. Пожалуйста, дайте хорошие учебные ресурсы.

Ответы [ 6 ]

19 голосов
/ 26 декабря 2009

Эта статья описывает, как рисовать пользовательские окна. Автор также показывает, как рисовать непрямоугольные окна.

Если бы вы могли использовать WPF вместо Windows Forms, это хорошая статья о настройке рисования окон:
http://www.codeguru.com/csharp/.net/net_wpf/article.php/c16379/

Здесь также есть вопрос с некоторыми хорошими ответами на SO: Создание пользовательских форм в WPF?

Обновление:
Я думаю, что создание обложек и нестандартное рисование - это весело с точки зрения программистов, но я также думаю, что для пользователя это почти бесполезно. Создатели платформы, для которой вы разрабатываете, могли бы приложить немало усилий для разработки своих оконных инструментов.
Если вы просто хотите изменить некоторые визуальные аспекты вашего приложения, вы также должны принять во внимание, что вы можете пропустить некоторые другие важные аспекты дизайна пользовательского интерфейса:

  • консистенция
  • доступность
  • эстетика (если вы перестарались эффекты, градиенты, ...)
  • интернационализация
  • ...

По мере разработки для Windows вы также теряете возможность скининга самой ОС. И я думаю, что некоторые скины, которые идут с более новыми версиями Windows, довольно хороши.

8 голосов
/ 26 декабря 2009

Вы можете попробовать любое из следующего:

Telerik

telerik interface

Syncfusion

alt text
(источник: componentsource.co.jp )

или другие компоненты.

Они делают ваш интерфейс красивым.

Редактировать: если вы хотите изучить, как они это делают, вы можете купить исходный код - вместе с документацией и понять оттуда.

3 голосов
/ 26 декабря 2009

Есть несколько коммерческих библиотек управления. Я могу рекомендовать Krypton Suite . Он состоит из бесплатного набора инструментов Krypton (который содержит много скинов для управления) и других несвободных элементов управления (Навигатор, Лента, Стыковка, Рабочая область). Он имеет несколько встроенных палитр и средств визуализации, которые позволяют вам сделать ваш интерфейс похожим на Office 2010, Office 2007, Office 2003, ...

2 голосов
/ 26 декабря 2009

Вы хотите искать + winforms + skinning . Я не пробовал это, но первые хиты выглядят неплохо. За наиболее достойные инструменты для снятия шкур нужно заплатить.

1 голос
/ 26 декабря 2009

Вы можете попробовать использовать "SetWindowRgn (..)", чтобы установить произвольную область для вашего окна. Это может варьироваться от придания прямоугольной формы с закругленными углами до придания форме необычной формы! Проверьте это: Ссылка .

Существует еще один вариант, если вы работаете в Vista (с включенной функцией Aero), т.е. вы можете проверить функцию DwmExtendFrameIntoClientArea (..) здесь: текст ссылки

Вы можете установить стиль границы формы на «none» и продолжить создавать свою собственную форму! Затем вам может понадобиться создать пользовательские кнопки для выполнения таких задач, как закрытие, сворачивание, максимизация и т. Д. Возможно, вам даже потребуется написать код для событий перетаскивания.

Для фона вам может понадобиться взглянуть на градиентные заливки, чтобы получить отличный эффект, в противном случае вы можете использовать великолепно выглядящие картинки в качестве фона ...! Но последний вариант не очень хорош, если у вас не очень хорошая картинка.

1 голос
/ 26 декабря 2009

Исходя из того, что вы сказали, вы хотите разработать свои собственные элементы управления. Для этого у вас есть несколько фреймворков, таких как Qt , которые могут использовать Direct3D для графики с аппаратным ускорением. У этого также есть плагин Visual Studio. Существует бесплатная версия LGPL и коммерческая версия.

Я вспомнил про Qt, потому что вы упомянули Picasa и, насколько я помню, я слышал, что пользовательский интерфейс Picasa был написан через Qt.

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