Как я могу придать профессиональному внешнему виду приложение .NET windows?

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

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

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

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

6 ответов

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

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

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

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

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

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


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

telerik

Syncfusion

alt text http://ftp.componentsource.co.jp/res/pub/lib/syncfusion/syncfusion-essential-studio-windows-forms/000_full.gif

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

Они действительно делают ваш пользовательский интерфейс.

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


Существуют некоторые коммерческие библиотеки управления. Я могу порекомендовать Krypton Suite. Он состоит из бесплатного инструмента Krypton Toolkit (который содержит множество скинов) и других несвободных элементов управления (Navigator, Ribbon, Docking, Workspace). В нем есть встроенные палитры и средства визуализации, которые позволяют сделать ваш пользовательский интерфейс похожим на Office 2010, Office 2007, Office 2003,...


Вы хотите найти + winforms + skinning. Я не пробовал их, но сначала hits не выглядят плохо. Самые приличные инструменты для скинов будут оплачиваться.


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

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


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

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

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

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

licensed under cc by-sa 3.0 with attribution.