/// <summary> /// Initalizes a new instance of App /// </summary> /// <param name="form"></param> /// <param name="browser"></param> /// <param name="systemEvent"></param> /// <param name="scriptEvent"></param> internal App(Form form, ChromiumWebBrowser browser, SystemEvent systemEvent, ScriptEvent scriptEvent) { _form = form ?? throw new ArgumentNullException("form"); _browser = browser ?? throw new ArgumentNullException("browser"); _systemEvent = systemEvent ?? throw new ArgumentNullException("systemEvent"); _scriptEvent = scriptEvent ?? throw new ArgumentNullException("scriptEvent"); // Register event handlers _scriptEvent.On("test", OnTest); _scriptEvent.On("multi-args", OnExample1); _scriptEvent.On("complex-arg", OnExample2); _scriptEvent.On("long-running-task", OnExample3); }
private void AppForm_Load(object sender, EventArgs e) { // The main entry point for the browser page is index.html var url = new Uri(string.Format("fs:///{0}Resources/html/index.html", GetAppLocation())); _browser = new ChromiumWebBrowser(url.ToString()); _systemEvent = new SystemEvent(_browser); _scriptEvent = new ScriptEvent(_browser); // Register keyboard event handler. _browser.KeyboardHandler = new KeyboardHandler(); // Register the scriptEvent class with JS _browser.JavascriptObjectRepository.Register("scriptEvent", _scriptEvent, true, BindingOptions.DefaultBinder); MainPanel.Controls.Add(_browser); ChromeDevToolsSystemMenu.CreateSysMenu(this); // Initialize the app new App(this, _browser, _systemEvent, _scriptEvent); }