2014-06-26 23 views
5

Tôi đang sử dụng CefSharp cho Windows Forms và tôi đang gặp sự cố khi triển khai sự kiện chuột (XButton1) và chuột tiến (XButton2) để điều hướng qua trình duyệt lịch sử.Cách xử lý bấm chuột trong CefSharp để điều hướng quay lại và tiến tới

Tôi đã thử các mã sau nhưng sự kiện mouseclick dường như không được kích hoạt:

using System; 
using System.Threading.Tasks; 
using System.Windows.Forms; 

namespace CefSharp.WinForms.Example 
{ 
    public partial class BrowserForm : Form 
    { 
     private readonly ChromiumWebBrowser browser; 

     public BrowserForm() 
     { 
      InitializeComponent(); 


      Text = "CefSharp"; 
      WindowState = FormWindowState.Maximized; 

      browser = new ChromiumWebBrowser("http://www.google.com") 
      { 
       Dock = DockStyle.Fill, 
      }; 

      browser.MenuHandler = new MenuHandler(); 
      browser.MouseClick += (sender, args) => 
      { 
       MessageBox.Show("Button pressed: " + args.Button.ToString()); 

       if (args.Button.Equals(MouseButtons.XButton1)) 
       { 

        if (browser.CanGoBack) 
        { 
         browser.Back(); 
        } 
       } 
       else if (args.Button.Equals(MouseButtons.XButton2)) 
       { 
        if (browser.CanGoForward) 
        { 
         browser.Forward(); 
        } 
       } 
      }; 
      toolStripContainer.ContentPanel.Controls.Add(browser); 
     } 
    } 
} 

Trả lời

1

Tôi biết đây là một câu hỏi cũ nhưng tôi stumbled trên nó thông qua Google để nghĩ rằng nó sẽ có giá trị cung cấp một câu trả lời . Nếu bạn triển khai IContextMenuHandler, bạn có thể kiểm soát ContextMenu. Hai liên kết dưới đây giới thiệu những gì cần thiết (và một số tính năng hữu ích khác).

https://github.com/cefsharp/CefSharp/blob/935d3900ba2147f4786386596b62339087ff61b0/CefSharp.WinForms.Example/Handlers/MenuHandler.cs#L15

https://github.com/cefsharp/CefSharp/blob/c18f951a97a515df112d67775c767d4222f88c23/CefSharp.WinForms.Example/BrowserTabUserControl.cs#L31

Các vấn đề liên quan