Пример #1
0
        /// <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);
        }
Пример #2
0
        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);
        }