Возможно ли внедрить Gecko или Webkit в Windows Form так же, как WebView?

Мне бы хотелось знать, есть ли такая вещь, как Gecko.NET;) Я имею в виду, как мы можем встроить WebView, и это "экземпляр" IE7 в любом приложении Windows Forms (и расскажите об этом до navigateto(fancy_url);). Я бы хотел использовать Firefox или WebKit.

Кто-нибудь пробовал это?

ОБНОВЛЕНИЕ. Пожалуйста, имейте в виду, что, хотя можно использовать Gecko, используя указанные элементы управления, все еще невозможно распечатать при использовании Gecko.

ОБНОВЛЕНИЕ March 2010. Его все еще невозможно распечатать с использованием GeckoFX, однако существует несколько методов, которые могут быть достаточно, в зависимости от того, что вы пытаетесь сделать. См. http://geckofx.org/viewtopic.php?id=796 для получения дополнительной информации.

ОБНОВЛЕНИЕ Октябрь 2013: я больше не занимаюсь разработкой Windows, поэтому я не заинтересован в этом, но похоже, что развитие Gecko можно найти здесь: https://bitbucket.org/geckofx и, похоже, он недавно обновлен. Оставляя это здесь для будущих разработчиков Windows;)

ОБНОВЛЕНИЕ Январь 2017. Я получил электронное письмо от компании TeamDev. Они создали компонент браузера .NET на базе Chromium под названием "DotNetBrowser", который можно использовать для отображения современных веб-страниц в приложениях Windows Forms.

Чтобы процитировать письмо прямо:

Вот некоторые подробности о компоненте, которые могут быть полезны:

  • DotNetBrowser основан на Chromium, поддерживая HTML5, CSS3, JS и новейшие веб-стандарты. Регулярно обновляется базовая версия библиотеки Chromium.
  • Этот компонент подходит как для WPF, так и для настольных приложений Windows Forms, и работает как для С#, так и для VB.NET.
  • Библиотека лицензируется на коммерческой основе, однако для Open Source и академических проектов предоставляются бесплатные лицензии.

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

Ответ 2

Это, безусловно, возможно. Все, что вам нужно сделать, это зарегистрировать элемент управления Mozilla ActiveX (например, mozctlx.dll), и вы можете перетащить его в свою форму как любой элемент управления ActiveX. Интерфейс программирования похож (хотя и не идентичен) на IE один, и вы даже можете использовать управляемую библиотеку Microsoft.MSHTML.dll для управления в некоторых случаях.

Я считаю, что это упаковано в Firefox. Если нет, вы можете получить только вложенные биты из Mozilla. Просто выполните поиск Google для элемента управления Mozilla ActiveX или Mozilla Embedding С#, и это приведет вас к правильному пути.

Ответ 3

GeckoFX больше не обновляется. Альтернативой является Moznet XulRunner обертка от Se7en Soft. В MozNet имеется множество функций, которые GeckoFX не делает и активно обновляется и поддерживается.

Ответ 4

Я хотел бы отметить, что все хотят внедрить Gecko в свои приложения, что проект GeckoFX, похоже, был оставлен его создателями (Skybound Software). MozNET, в то время как ранее на основе GeckoFX, sorta 'взял мяч и побежал с ним. Он имеет полную возможность печатать, выполнять предварительный просмотр печати и позволяет настроить все это через собственный диалог печати Windows, даже - и намного больше.

Ответ 5

OpenWebKitSharp - это обертка для запуска движка WebKit (ночная) и очень продвинутая. Взгляните здесь (раздел OpenWebKitSharp): http://code.google.com/p/open-webkit-sharp/

Ответ 6

Обновление 2016:

BrowseEmAll.Gecko

Компонент .Net, который можно использовать для интеграции Firefox engine в ваше. Net-приложение. Это основано на Geckofx, но в отличие от текущей версии Geckofx это будет работать с обычной версией Firefox. Чтобы использовать Geckofx, вам нужно будет самостоятельно создавать Firefox. Опять коммерческая поддержка доступна, но сам компонент полностью с открытым исходным кодом.

(Полное раскрытие: я работаю в этой компании, поэтому принимайте все, что я говорю, с солью)

Ответ 7

@Martin: Да, версия Адама Локка устарела. Но это потому, что отдельный дистрибутив не нужен. Теперь он построен с остальной частью кодовой базы Mozilla.

Если вы загружаете Prism (т.е. XulRunner), это даст вам базу, которую вы можете настроить в соответствии с вашими потребностями, и это включает в себя самую последнюю версию элемента управления (в каталоге \Prism\xulrunner вы найдете mozctlx DLL).

@Greg: На самом деле это элемент управления ActiveX. Кстати, все элементы управления ActiveX являются элементами управления COM. ActiveX построен на COM.

Ответ 8

По состоянию на 30 октября 2011 года новая информация добавляется со времени предыдущих сообщений. В частности, в то время как Skybound прекратил поддерживать свою версию, существует, по крайней мере, одна активно поддерживаемая свободная открытая версия с открытым исходным кодом.

Я использую вилку Hindle в BitBucket, которая благодаря своему инструменту, который разбирает XpCom и делает С# -комплексы, быстро обновляется с поддержкой каждой новой версии Firefox/Gecko.

См. этот пост для обзора других вариантов.

Ответ 9

Кроме того, если вы обнаружите, что используете Gtk вместо Windows.Forms, существует архив с доступным веб-текстом, который позволяет легко встраивать WebView в приложения Gtk #.

Ответ 10

I Belive "Gecko FX" [1] - это то, что вам нужно.

К котировке с веб-сайта

"" GeckoFX - это элемент управления Windows Forms, написанный на чистом, прокомментированном С#, который включает в себя управление браузером Mozilla Gecko в любом приложении Windows Forms. Он также содержит простую модель класса, обеспечивающую доступ к HTML и CSS DOM. ""

1) Я не могу опубликовать ссылку, поскольку "новым пользователям не разрешено добавлять гиперссылки". Поиск "geckofx" в коде google.