DotNetBrowser 是一个专有的 .NET 库,它提供了一个基于 Chromium 的引擎,可用于加载和显示网页。
自 2015 年以来,它一直由 TeamDev 开发和支持。
产品功能
主要功能如下:
- 加载并显示网页。
- 将基于 Chromium 的浏览器作为 WPF 或 Windows Forms 控件嵌入到 .NET 桌面应用程序中 。
- 处理导航和网络事件。
- 访问已加载网页的文档对象模型。
- 在加载的网页上执行 JavaScript,注入 .NET 对象并从 JavaScript 调用它们
用途
DotNetBrowser 的主要用途是将浏览器嵌入到各种 .NET 桌面应用程序中并显示网页。 DotNetBrowser 可以用作无头浏览器。 无头模式也适用于 Linux 和 macOS。
另一个已知的用例是创建基于网络的自动服务终端应用程序 和 Microsoft Office 的 VSTO 插件。
[https://github.com/TeamDev-IP/DotNetBrowser-Examples/ DotNetBrowser 示例存储库] 中提供了更多示例和用例。
例子
WPF
XAML 标记
C#
using System;
using System.Windows
using DotNetBrowser.Browser;
using DotNetBrowser.Engine;
namespace Sample.Wpf;
public partial class MainWindow : Window
{
private readonly IEngine engine;
private readonly IBrowser browser;
public MainWindow()
{
InitializeComponent();
// 创建和初始化 IEngine
engine = EngineFactory.Create();
// 创建 IBrowser
browser = engine.CreateBrowser();
browser.Navigation.LoadUrl("https://teamdev.com/dotnetbrowser");
// 初始化 WPF BrowserView 控件
browserView.InitializeFrom(browser);
}
private void MainWindow_OnClosed(object sender, EventArgs e)
{
browser.Dispose();
engine.Dispose();
}
}
Windows Forms
C#
using System;
using System.Windows.Forms;
using DotNetBrowser.Browser;
using DotNetBrowser.Engine;
using DotNetBrowser.WinForms;
namespace Sample.WinForms;
public partial class Form1 : Form
{
private readonly IEngine engine;
private readonly IBrowser browser;
public Form1()
{
InitializeComponent();
// 创建和初始化 IEngine
engine = EngineFactory.Create();
// 创建 Windows Forms BrowserView 控件
BrowserView browserView = new BrowserView() {
Dock = DockStyle.Fill
};
// 创建 IBrowser
browser = engine.CreateBrowser();
browser.Navigation.LoadUrl("https://teamdev.com/dotnetbrowser");
// 初始化 Windows Forms BrowserView 控件
browserView.InitializeFrom(browser);
// 将 BrowserView 控件添加到 Form 中
Controls.Add(browserView);
Closed += Form1Closed;
}
private void Form1Closed(object sender, EventArgs e)
{
browser.Dispose();
engine.Dispose();
}
}
另见
- Electron
外部链接
*
- - DotNetBrowser 支持包含文档和发行说明的网站。
- - 包含使用 DotNetBrowser 的各种示例的存储库。
参考文献
评论 (0)