public Form1() { InitializeComponent(); BrowserView webView = new BrowserView { Dock = DockStyle.Fill }; tableLayoutPanel1.Controls.Add(webView, 1, 0); tableLayoutPanel1.SetRowSpan(webView, 2); engine = EngineFactory .Create(new EngineOptions.Builder { RenderingMode = RenderingMode.HardwareAccelerated } .Build()); browser = engine.CreateBrowser(); webView.InitializeFrom(browser); browser.ConsoleMessageReceived += (sender, args) => { }; browser .MainFrame .LoadHtml(@"<html> <head> <meta charset='UTF-8'> <style>body{padding: 0; margin: 0; width:100%; height: 100%;} textarea.fill {padding: 2; margin: 0; width:100%; height:100%;} button{position: absolute; bottom: 0; padding: 2; width:100%;}</style> </head> <body> <div> <textarea id='text' class='fill' autofocus cols='30' rows='20'>Sample text</textarea> <button id='updateForm' type='button' onClick='updateForm(document.getElementById(""text"").value)'>< Update Form</button> </div> </body> </html>") .Wait(); IJsObject window = browser.MainFrame.ExecuteJavaScript <IJsObject>("window").Result; window.Properties["updateForm"] = (Action <string>)UpdateForm; FormClosing += Form1_FormClosing; }
public Form1() { LoggerProvider.Instance.Level = SourceLevels.Verbose; LoggerProvider.Instance.FileLoggingEnabled = true; LoggerProvider.Instance.OutputFile = "log.txt"; BrowserView webView = new BrowserView { Dock = DockStyle.Fill }; Task.Run(() => { engine = EngineFactory .Create(new EngineOptions.Builder { RenderingMode = RenderingMode.HardwareAccelerated } .Build()); browser = engine.CreateBrowser(); }).ContinueWith(t => { webView.InitializeFrom(browser); browser.ShowContextMenuHandler = new AsyncHandler <ShowContextMenuParameters, ShowContextMenuResponse>(ShowMenu); browser .MainFrame .LoadHtml(@"<html> <head> <meta charset='UTF-8'> </head> <body> <textarea autofocus cols='30' rows='20'>Simpple mistakee</textarea> </body> </html>"); }, TaskScheduler.FromCurrentSynchronizationContext()); InitializeComponent(); FormClosing += Form1_FormClosing; Controls.Add(webView); }
public MainWindow() { try { Task.Run(() => { engine = EngineFactory.Create(new EngineOptions.Builder { RenderingMode = RenderingMode.OffScreen } .Build()); browser = engine.CreateBrowser(); }) .ContinueWith(t => { BrowserView browserView = new BrowserView(); // Embed BrowserView component into main layout. MainLayout.Children.Add(browserView); browserView.InitializeFrom(browser); byte[] htmlBytes = Encoding.UTF8.GetBytes(@"<html> <body> <input type='text' autofocus></input> </body> </html>"); browser.Navigation.LoadUrl("data:text/html;base64," + Convert.ToBase64String(htmlBytes)) .ContinueWith(SimulateInput); }, TaskScheduler.FromCurrentSynchronizationContext()); // Initialize Wpf Application UI. InitializeComponent(); } catch (Exception exception) { Debug.WriteLine(exception); } }
public MainWindow() { try { Task.Run(() => { engine = EngineFactory.Create(new EngineOptions.Builder { RenderingMode = RenderingMode.OffScreen } .Build()); browser = engine.CreateBrowser(); }) .ContinueWith(t => { BrowserView browserView = new BrowserView(); // Embed BrowserView component into main layout. MainLayout.Children.Add(browserView); browserView.InitializeFrom(browser); browser.MainFrame .LoadHtml(@"<html> <body> <input type='text' autofocus></input> </body> </html>") .ContinueWith(SimulateInput); }, TaskScheduler.FromCurrentSynchronizationContext()); // Initialize Wpf Application UI. InitializeComponent(); } catch (Exception exception) { Debug.WriteLine(exception); } }
public Form1() { InitializeComponent(); browserView = new BrowserView { Dock = DockStyle.Fill }; engine = EngineFactory .Create(new EngineOptions.Builder { RenderingMode = RenderingMode.HardwareAccelerated } .Build()); browser = engine.CreateBrowser(); browserView.InitializeFrom(browser); Controls.Add(browserView); Task.Run(() => { browser.Navigation.LoadUrl(Path.GetFullPath("page.html")).Wait(); // After the page is loaded successfully, we can configure the observer. ConfigureObserver(); }); }
public Form1() { BrowserView webView = new BrowserView { Dock = DockStyle.Fill }; Task.Run(() => { engine = EngineFactory.Create(new EngineOptions.Builder { RenderingMode = RenderingMode.HardwareAccelerated } .Build()); browser = engine.CreateBrowser(); }) .ContinueWith(t => { webView.InitializeFrom(browser); browser.Navigation.LoadUrl("https://www.teamdev.com/"); }, TaskScheduler.FromCurrentSynchronizationContext()); InitializeComponent(); FormClosing += Form1_FormClosing; Controls.Add(webView); }
private void ShowPopup(IBrowser popupBrowser, Rectangle rectangle) { BrowserView browserView = new BrowserView { Dock = DockStyle.Fill }; browserView.InitializeFrom(popupBrowser); // Set the same popup handler for the popup browser itself. popupBrowser.OpenPopupHandler = new OpenPopupHandler(browserView); Form form = new Form(); if (!rectangle.IsEmpty) { form.StartPosition = FormStartPosition.Manual; form.Location = new System.Drawing.Point(rectangle.Origin.X, rectangle.Origin.Y); form.ClientSize = new System.Drawing.Size((int)rectangle.Size.Width, (int)rectangle.Size.Height); browserView.Width = (int)rectangle.Size.Width; browserView.Height = (int)rectangle.Size.Height; } else { form.Width = 800; form.Height = 600; } form.Closed += delegate { form.Controls.Clear(); if (!popupBrowser.IsDisposed) { popupBrowser.Dispose(); } }; popupBrowser.TitleChanged += delegate(object sender, TitleChangedEventArgs e) { form.BeginInvoke((Action)(() => { form.Text = e.Title; })); }; popupBrowser.Disposed += delegate { Action formCloseAction = () => { form.Controls.Clear(); form.Hide(); form.Close(); form.Dispose(); }; form.BeginInvoke(formCloseAction); }; form.Controls.Add(browserView); form.Show(); }