【问题标题】:I want to use WebBrowser Control in Mono Windows Form我想在 Mono Windows 窗体中使用 WebBrowser 控件
【发布时间】:2015-12-21 10:18:21
【问题描述】:

我真的很困惑如何在我的 windows 窗体单应用程序(可以在 windows 和 Mac 上运行)中使用 webbrowser 控件。我在这个主题上只找到了link,但它不像一个教程,所以我什么都不懂。

我从 Mono 库中找到 Mono.webbrowser.dll 并添加到 Visual Studio 中的项目参考中。

     IWebBrowser browser= Mono.WebBrowser.Manager.GetNewInstance(Platform.Winforms);

然后我添加了这一行,它导致了一些依赖异常。我一定缺少一些基础知识,所以请帮助我。

【问题讨论】:

  • 如果您共享确切的依赖异常,将会很有帮助。
  • 能否请您指定 Visual Studio、Mono 的版本以及您在哪些“窗口”上运行?您还可以更具体地说明您要实现的目标吗?要么在两个平台上获取 Gecko/Ffox,要么在 Windows 上获取 IE,在 Mac 上获取 Gecko?

标签: c# winforms mono webbrowser-control


【解决方案1】:

首先,我会强烈不鼓励你首先使用这个网络浏览器实现。

Mono 中的跨平台 WebBrowser 支持仍然是 experimental,并且使用的浏览器已经过时:Firefox (Gecko) 和 IE (IE 5 或 6) 版本。 这意味着它不支持任何近年来做的网站的新功能。

此外,实现互操作性的方式(通过 COM)和 .Net 中的原始设计并不使其成为 .Net 团队或 Mono 团队大力支持的良好候选者。 我的意思是,它今天存在,未来几年可能会消失

特别是考虑到已经有很多不错的选择,比如

注意:Cef 代表 Chromium 嵌入式框架,然后 Cef 包装器(如 CefGlue/Sharp)允许使用具有所有受支持功能的 Chrome。

您提供的 link 看起来不无法理解,因为它不适合真正用于使用 Mono 不知道如何构建它的开发人员(或其依赖项,如 gtk-sharp)。如果你真的想走这条路,你必须首先尝试了解更多关于 Mono 或像 gtk-sharp 这样的依赖项。根据您要实现的目标,您需要:

  • gluezilla (Firefox/Gecko)。它应该开箱即用。但您必须将平台更改为 Unix。
  • SHDocVw.dll、mshtml.dll、BrowseUI.dll (MSIE)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-11-28
    • 1970-01-01
    • 1970-01-01
    • 2020-04-28
    • 1970-01-01
    • 2015-08-28
    • 2010-12-25
    • 1970-01-01
    相关资源
    最近更新 更多