2014-06-26 12 views
5

मैं Windows फार्म के लिए CefSharp उपयोग कर रहा हूँ और मैं माउस वापस (XButton1) और माउस को आगे (XButton2) घटना ब्राउज़िंग के माध्यम से नेविगेट करने के लिए लागू करने के साथ समस्या हो रही है करने के लिए CefSharp में माउस क्लिक संभालने के लिए इतिहास।कैसे वापस नेविगेट और आगे

मैं निम्नलिखित कोड की कोशिश की लेकिन माउस क्लिक घटना शुरू किया जा प्रतीत नहीं होता:

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); 
     } 
    } 
} 

उत्तर

1

मैं जानता हूँ कि यह एक पुराने सवाल है लेकिन मैं इसे भर में ठोकर खाई के माध्यम से गूगल तो सोचा था कि यह एक जवाब उपलब्ध कराने के लायक हो जाएगा । यदि आप IContextMenuHandler लागू करते हैं तो आप ContextMenu को नियंत्रित कर सकते हैं। डेमो के नीचे दो लिंक जो आवश्यक हैं (और कुछ अन्य उपयोगी विशेषताएं)।

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

संबंधित मुद्दे