Windows Explorer, как приложение - PullRequest
0 голосов
/ 12 ноября 2010

Я ищу способ сделать это: alt text

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

Я хотел бы получить пример кода, как сделать этот C # (это мой "основной" язык), C ++ или любой другой язык программирования.

Спасибо.

PS: Если есть какие-то различия между этим в Windows XP, Windows Vista и Windows Seven, скажите, пожалуйста.

Редактировать: Приложение будет как-то (это вопрос) в проводнике Windows.Как приложение будет запущено (фактически «просмотрено»)?Пользователь откроет проводник Windows, наберет «Мое приложение» в адресной строке, нажмите клавишу ввода, и он увидит что-то вроде выше.

Спасибо.

Редактировать: Эх... Я только что зашел на этот сайт в MSDN http://msdn.microsoft.com/en-us/library/bb757044.aspx. Я догадываюсь, что единственный простой способ реализовать мою идею - создать апплет панели управления.


Может быть, кто-нибудь знает, как отобразитьПути панели управления.Например, пользователь переходит в «Мое приложение», но перенаправляется в «Панель управления \ Мое приложение»?

Спасибо.

Ответы [ 3 ]

1 голос
/ 12 ноября 2010

Я не совсем уверен, что вопрос здесь, потому что вы не упоминаете, с какими именно проблемами вы столкнулись при попытке создать интерфейс, который вы хотите.

(РЕДАКТИРОВАТЬ: Я предполагаю, что WinForms здесь, потому что оригинальный вопрос не определяет. Если вы используете WPF, вы можете обнаружить, что некоторые вещи даже проще, но многие из тех же ссылок будут по-прежнему применимы.)

Честно говоря, большая часть этого выглядит чрезвычайно просто для копирования в Visual Studio Designer.Labels, LinkLabels и Buttons, которые вы указали стрелками на снимке экрана, все доступны в приложениях WinForms и будут выглядеть именно так.Чтобы они точно копировали собственный внешний вид Windows, установите FlatStyle на «Система» на всех элементах управления, где отображается это свойство.

Фон формы простообычный старый белый вместо цвета управления 3D (о, как дизайн пользовательского интерфейса идет по кругу).Вы можете добиться того же самого, установив BackColor свойство вашей формы в значение "Белый".

Это оставляет нас с повторной реализацией панели инструментов в стиле Проводника, что мне кажетсяможет лучше подойти к вашему актуальному вопросу.Первое, что вы заметите, это эффект Aero glass на панели инструментов.Здесь задавались многочисленные вопросы о том, как получить эффекты Aero glass в приложениях WinForms, и столько же постов в блогах, примеров кода и других материалов, размещаемых в Интернете.Вам просто нужно расширить эффект стекла от границ вашего окна до клиентской области.Конечно, поддержка этого не была встроена в .NET Framework, и вам придется P / Invoke API Desktop Window Manager (DWM) , который присутствует в Windows Vista и более поздних версиях, по порядку.чтобы достичь этого эффекта, который может быстро усложниться.Эти ссылки должны помочь вам начать:

После того, как вы это сделаете, все, что осталось, это добавить несколько элементов управления в верхнюю область клиентской области, которую вы теперь визуализировали как стекло.Снимок экрана выше имеет две кнопки назад / вперед и два текстовых поля.Все они должны быть относительно простыми для воссоздания.Значки кнопок «Назад» и «Вперед» являются стандартными изображениями, включенными в библиотеки оболочек Windows. Посмотрите ответы на на этот вопрос , чтобы узнать, как их получить.Текстовое поле path не выглядит для меня чем-то особенным, поэтому, если вы не ищете его пользовательское поведение (навигация по крошкам и т. Д.), Вы можете просто использовать стандартный элемент управления WinForms TextBox.Для текстового поля поиска в быстром поиске Google появилась ссылка на эту статью о том, как можно повторно реализовать ее в WinForms, что выглядит очень многообещающе.

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


Постскриптум: Насколько я знаю, большая часть этого будет выглядеть и работать одинаково в Windows Vista и Windows 7. WindowsXP не поддерживает диспетчер окон рабочего стола и поэтому не имеет пользовательского интерфейса Aero.Windows Explorer выглядит совсем иначе в Windows XP.Если вы пытаетесь воссоздать внешний вид Windows Vista + в Windows XP, ваша работа действительно готова для вас.Вам нужно будет определить, какую операционную систему использует ваш пользователь, и, если она ниже, чем Vista, вернитесь к собственному рисованию всего собственного окна Chrome, где стекло Aero будет использоваться в более поздних версиях Windows.

0 голосов
/ 12 ноября 2010
0 голосов
/ 12 ноября 2010

Зачем тебе это?В Visual Studio вы можете добавить окно, похожее на проводник, в свой проект.

Кроме этого, вам придется собирать элементы управления вместе, создавать свои собственные и разрабатывать множество классов (НЕ делайте этоговсе в одном классе, хорошо? IE, изучать ООП, получить книгу, если вам нужно).

Приветствия:)

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