DotNetBrowser
Developer(s) | TeamDev |
---|---|
Initial release | 6 April 2015 |
Stable release | 2.27.1[1] ![]() |
Written in | C#, C++ |
Operating system | Microsoft Windows, Linux, macOS |
Type | Framework, Web browser |
License | Proprietary[2] |
Website | https://teamdev.com/dotnetbrowser |
DotNetBrowser is a proprietary .NET library that provides a Chromium-based engine which can be used to load and display web pages.[3] [4][5] It is developed and supported by TeamDev since 2015.
Features
[edit]Some main features are as follows:
- Load and display the web page.
- Embed a Chromium-based browser in a .NET desktop application as an Avalonia UI, WPF or Windows Forms control.[6]
- Handle navigation and network events.
- Access Document Object Model of the loaded web page.
- Execute JavaScript on the loaded web page, inject .NET objects and call them from JavaScript[7][8][9]
Usage
[edit]Primary usage is embedding a browser into various .NET desktop applications and displaying the web pages.[10] DotNetBrowser can be used as a headless browser. The headless mode is also available on Linux and macOS.
Another known use-cases are creating web-based kiosk applications[11] and VSTO add-ins for Microsoft Office.[12]
More examples and use-cases are available in the DotNetBrowser Examples repository.
Example
[edit]WPF
[edit]XAML markup
<Window x:Class="Sample.Wpf.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="http://schemas.microsoft.com/expression/blend/2008" xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:wpf="clr-namespace:DotNetBrowser.Wpf;assembly=DotNetBrowser.Wpf" mc:Ignorable="d" Title="MainWindow" Height="450" Width="800" Closed="MainWindow_OnClosed"> <Grid> <wpf:BrowserView x:Name="browserView"/> </Grid> </Window>
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(); // Create and initialize the IEngine _engine = EngineFactory.Create(); // Create the IBrowser _browser = engine.CreateBrowser(); _browser.Navigation.LoadUrl("https://teamdev.com/dotnetbrowser"); // Initialize the WPF BrowserView control browserView.InitializeFrom(browser); } private void MainWindow_OnClosed(object sender, EventArgs e) { _browser.Dispose(); _engine.Dispose(); } }
Windows Forms
[edit]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(); // Create and initialize the IEngine _engine = EngineFactory.Create(); // Create the Windows Forms BrowserView control var browserView = new BrowserView { Dock = DockStyle.Fill }; // Create the IBrowser _browser = engine.CreateBrowser(); _browser.Navigation.LoadUrl("https://teamdev.com/dotnetbrowser"); // Initialize the Windows Forms BrowserView control browserView.InitializeFrom(browser); // Add the BrowserView control to the Form Controls.Add(browserView); Closed += Form1Closed; } private void Form1Closed(object sender, EventArgs e) { _browser.Dispose(); _engine.Dispose(); } }
See also
[edit]References
[edit]- ^ https://teamdev.com/dotnetbrowser/release-notes/2024/v2-27-1.html.
{{cite web}}
: Missing or empty|title=
(help) - ^ "DotNetBrowser Product Licence Agreement". TeamDev. Retrieved 12 March 2021.
- ^ "DotNetBrowser on StackOverflow". Retrieved 14 March 2021.
- ^ "DotNetBrowser on NuGet". Retrieved 14 March 2021.
- ^ "c # - i want to get location information with dotnetbrowser".
- ^ "Chromium Web Browser Control in .NET Applications". DZone. Archived from the original on 2021-05-19. Retrieved 2021-05-19.
- ^ "DotNetBrowser and invalid external method call". 13 June 2020.
- ^ "Using dotnetbrowser to call JavaScript function to c#". 14 June 2018.
- ^ "The mutual call between the JS code of the DotNetBrowser internal page and the external C# code". Archived from the original on 2021-05-19. Retrieved 2021-05-19.
- ^ "Creating an HTML UI for Desktop .NET Applications". InfoQ. Retrieved 12 March 2021.
- ^ Mihika Kapoor (2 July 2016). "Frame Building with C# and VB.NET". medium.com. Retrieved 17 May 2021.
- ^ "Using VSTO to develop Word AddIn, is there a third-party kernel that can replace webbrowser?". Archived from the original on 21 May 2021. Retrieved 21 May 2021.
External links
[edit]- Official website
- DotNetBrowser Help Center - the DotNetBrowser support website containing documentation and release notes.
- DotNetBrowser Examples, 5 October 2022 - the repository containing various examples of using DotNetBrowser.