예제 #1
0
        /// <inheritdoc/>>
        public bool OnKeyEvent(IWebBrowser browserControl, IBrowser browser, KeyType type, int windowsKeyCode, int nativeKeyCode, CefEventFlags modifiers, bool isSystemKey)
        {
            if (type == KeyType.KeyUp && windowsKeyCode == (int)Keys.F4 && (modifiers == CefEventFlags.ControlDown))
            {
                //Debug.WriteLine("Ctrl-F4");
                myForm.CloseActiveTab();
            }

            //Debug.WriteLine(String.Format("OnKeyEvent: KeyType: {0} 0x{1:X} Modifiers: {2}", type, windowsKeyCode, modifiers));
            return(false);
        }
예제 #2
0
        public bool OnContextMenuCommand(IWebBrowser browserControl, IBrowser browser, IFrame frame, IContextMenuParams parameters, CefMenuCommand commandId, CefEventFlags eventFlags)
        {
            int id = (int)commandId;

            if (id == ShowDevTools)
            {
                browser.ShowDevTools();
            }
            if (id == CloseDevTools)
            {
                browser.CloseDevTools();
            }
            if (id == SaveImageAs)
            {
                browser.GetHost().StartDownload(parameters.SourceUrl);
            }
            if (id == SaveLinkAs)
            {
                browser.GetHost().StartDownload(parameters.LinkUrl);
            }
            if (id == OpenLinkInNewTab)
            {
                ChromiumWebBrowser newBrowser = myForm.AddNewBrowserTab(parameters.LinkUrl, false, browser.MainFrame.Url);
            }
            if (id == CopyLinkAddress)
            {
                Clipboard.SetText(parameters.LinkUrl);
            }
            if (id == CloseTab)
            {
                myForm.InvokeOnParent(delegate() {
                    myForm.CloseActiveTab();
                });
            }
            if (id == RefreshTab)
            {
                myForm.InvokeOnParent(delegate() {
                    myForm.RefreshActiveTab();
                });
            }

            return(false);
        }
예제 #3
0
        public bool OnContextMenuCommand(IWebBrowser browserControl, IBrowser browser, IFrame frame, IContextMenuParams parameters, CefMenuCommand commandId, CefEventFlags eventFlags)
        {
            int id = (int)commandId;

            if (id == ShowDevTools)
            {
                browser.ShowDevTools();
            }
            if (id == CloseDevTools)
            {
                browser.CloseDevTools();
            }
            if (id == SaveImageAs)
            {
                browser.GetHost().StartDownload(parameters.SourceUrl);
            }
            if (id == SaveLinkAs)
            {
                browser.GetHost().StartDownload(parameters.LinkUrl);
            }
            if (id == OpenLinkInNewTab)
            {
                ChromiumWebBrowser newBrowser = myForm.AddNewBrowserTab(parameters.LinkUrl, false, browser.MainFrame.Url);
            }
            if (id == CopyLinkAddress)
            {
                Clipboard.SetText(parameters.LinkUrl);
            }
            if (id == CloseTab)
            {
                myForm.InvokeOnParent(delegate() {
                    myForm.CloseActiveTab();
                });
            }
            if (id == RefreshTab)
            {
                myForm.InvokeOnParent(delegate() {
                    myForm.RefreshActiveTab();
                });
            }
            if (id == SaveAsPdf)
            {
                SaveFileDialog sfd = new SaveFileDialog();
                sfd.Filter = "PDF Files | *.pdf";
                if (sfd.ShowDialog() == DialogResult.OK)
                {
                    //string path = Path.GetFileName(sfd.FileName);
                    browser.PrintToPdfAsync(sfd.FileName, new PdfPrintSettings()
                    {
                        SelectionOnly      = false,
                        BackgroundsEnabled = true
                    });
                }
            }
            if (id == Print)
            {
                browser.Print();
            }

            return(false);
        }