#c# #chromium-embedded #cefsharp
#c# #встроенный хром #cefsharp
Вопрос:
Я использую CefSharp для Windows Forms, и у меня возникла проблема с реализацией событий мыши назад (XButton1) и мыши вперед (XButton2) для навигации по истории просмотров.
Я попробовал следующий код, но событие MouseClick, похоже, не срабатывает:
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:
Я знаю, что это старый вопрос, но я наткнулся на него через Google, поэтому подумал, что стоит дать ответ. Если вы реализуете IContextMenuHandler
, вы можете управлять ContextMenu
. Две ссылки ниже демонстрируют, что требуется (и некоторые другие полезные функции).