C#

using DotNetBrowser;
using DotNetBrowser.Events;
using DotNetBrowser.WinForms;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace JavaScriptCSBridgeSample
{
    public partial class Form1 : Form
    {
        private Browser browser;

        public Form1()
        {
            InitializeComponent();
            browser = BrowserFactory.Create();

            browser.FinishLoadingFrameEvent += delegate(object sender, FinishLoadingEventArgs e)
            {
                if (e.IsMainFrame)
                {
                    JSValue value = browser.ExecuteJavaScriptAndReturnValue("window");
                    value.AsObject().SetProperty("Account", new Account());
                }
            };

            browser.LoadHTML(@"<!DOCTYPE html>
                                    <html>
                                    <head>
                                        <script type='text/javascript'>
                                              function sendFormData() {
                                                var firstNameValue = myForm.elements['firstName'].value;
                                                var lastNameValue = myForm.elements['lastName'].value;
                                                // Invoke the 'save' method of the 'Account' Java object.
                                                Account.Save(firstNameValue, lastNameValue);
                                              }
                                            </script>
                                    </head>
                                    <body>
                                    <form name='myForm'>
                                        First name: <input type='text' name='firstName'/>
                                        <br/>
                                        Last name: <input type='text' name='lastName'/>
                                        <br/>
                                        <input type='button' value='Save' onclick='sendFormData();'/>
                                    </form>
                                    </body>
                                    </html>");

            WinFormsBrowserViewbrowserView = new WinFormsBrowserView(browser) { Dock = DockStyle.Fill };

            this.Controls.Add(browserView);
        }

        /**
        * c# class used for binding .NET to JavaScript must be public.
        */
        public class Account
        {
            public void Save(String firstName, String lastName)
            {
                Console.Out.WriteLine("firstName = " + firstName);
                Console.Out.WriteLine("lastName = " + lastName);
            }
        }
    }
}


VB.NET

Imports DotNetBrowser
Imports DotNetBrowser.Events
Imports DotNetBrowser.WinForms

Public Class Form1
    Private Dim browser As Browser

    Sub New()

        InitializeComponent()
        browser = BrowserFactory.Create()

        AddHandler browser.FinishLoadingFrameEvent,
            sub(sender As Object, e As FinishLoadingEventArgs)
                If e.IsMainFrame Then
                    Dim value As JSValue = browser.ExecuteJavaScriptAndReturnValue("window")
                    value.AsObject().SetProperty("Account", New Account())
                End If
            End sub

        browser.LoadHTML("<!DOCTYPE html>
                                <html>
                                <head>
                                    <script type='text/javascript'>
                                          function sendFormData() {
                                            var firstNameValue = myForm.elements['firstName'].value;
                                            var lastNameValue = myForm.elements['lastName'].value;
                                            // Invoke the 'save' method of the 'Account' Java object.
                                            Account.Save(firstNameValue, lastNameValue);
                                          }
                                        </script>
                                </head>
                                <body>
                                <form name='myForm'>
                                    First name: <input type='text' name='firstName'/>
                                    <br/>
                                    Last name: <input type='text' name='lastName'/>
                                    <br/>
                                    <input type='button' value='Save' onclick='sendFormData();'/>
                                </form>
                                </body>
                                </html>")
        Dim browserView As WinFormsBrowserView = New WinFormsBrowserView(browser)
        With browserView
            .Dock = DockStyle.Fill
        End With

        Controls.Add(browserView)
    End Sub

    Public Class Account
        Public Sub Save(firstName As String, lastName As String)
            Console.Out.WriteLine("firstName = " + firstName)
            Console.Out.WriteLine("lastName = " + lastName)
        End Sub
    End Class
End Class