Я работаю над приложением С#.NET с System.Windows.Forms.WebBrowser.
IE не отвечает должным образом, поэтому я хочу перейти на Mozilla Firefox.
Как я могу это сделать?
Я работаю над приложением С#.NET с System.Windows.Forms.WebBrowser.
IE не отвечает должным образом, поэтому я хочу перейти на Mozilla Firefox.
Как я могу это сделать?
Вы не можете.
Элемент WebBrowser
является оберткой элемента управления ActiveX IE и не может быть легко заменен для Mozilla.
Однако вы можете посмотреть элемент управления ActiveX Mozilla
Вы захотите заменить элемент управления WebBrowser на этот проект: http://code.google.com/p/geckofx/
Я просто смотрел GeckoFX и WebKit. NET, они могут вас заинтересовать. Если вы хотите изменить элемент управления WebBrowser по умолчанию, я не считаю, что это возможно.
System.Windows.Forms.WebBrowser
- это просто управляемая оболочка для элемента управления ActiveX: SHDocVw.WebBrowser
. Обертка не обходится без ошибок и не может обеспечить необходимую расширяемость. Если у вас есть рабочее решение, я не предлагаю использовать его для использования System.Windows.Forms.WebBrowser
.
IE не основан на .Net, поэтому вы не можете использовать System.Windows.Forms.WebBrowser
для управления чем-либо в IE. На самом деле я даже не предлагаю подключать BHO в .Net, потому что в IE-процессе может работать только одна версия CLR, и ваш BHO может работать в неожиданной версии CLR.
Не уверен, что это возможно/просто, но моно использует Gecko # для реализации своей версии System.Windows.Forms.WebBrowser. Возможно, вы можете повторно использовать это или разорвать некоторые полезные элементы из этого кода?
Вы не можете добиться этого, используя элемент управления System.Windows.Forms.WebBrowser. Кажется, есть способы внедрить механизм рендеринга Gecko в приложение WinForms.
см. этот вопрос: Замена элемента управления .NET WebBrowser лучшим браузером, например Chrome?
Обновление 2016:
Есть 3 дополнительных параметра, которые я могу предложить, которые все еще активно развиваются:
Компонент .Net, который можно использовать для интеграции механизма Chrome в ваше .NET Application. На основе CefGlue, но немного быстрее при обновлении последней версии Chrome. Также имеется доступная коммерческая поддержка, которая может оказаться полезной для некоторых. Конечно, сам компонент с открытым исходным кодом.
Другой компонент .Net, который можно использовать для интеграции двигателя Firefox в ваше. Net-приложение. Это основано на Geckofx, но в отличие от текущей версии Geckofx это будет работать с обычной версией Firefox. Чтобы использовать Geckofx, вам нужно будет самостоятельно создавать Firefox. Опять коммерческая поддержка доступна, но сам компонент полностью с открытым исходным кодом.
Нужны ли все браузеры в вашем приложении .Net? Какой API-интерфейс BrowseEmAll Core вы можете интегрировать Chrome, Firefox, Webkit и Internet Explorer в ваше приложение. Это коммерческий продукт, хотя следует предупредить.
(Полное раскрытие: я работаю в этой компании, поэтому принимайте все, что я говорю, с солью)