コード例 #1
0
        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)'>&lt; Update Form</button> 
                        </div>
                        </body>
                        </html>")
            .Wait();
            IJsObject window = browser.MainFrame.ExecuteJavaScript <IJsObject>("window").Result;

            window.Properties["updateForm"] = (Action <string>)UpdateForm;
            FormClosing += Form1_FormClosing;
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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);
            }
        }
コード例 #4
0
        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);
            }
        }
コード例 #5
0
        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();
            });
        }
コード例 #6
0
        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);
        }
コード例 #7
0
        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();
        }