Dot Net tutorials for New Comer

Provide tutorials on ASP.net, MVC based CMS, Windows Forms, WCF, WPF for new comer, professionals.

Showing posts with label ChromiumWebBrowser. Show all posts
Showing posts with label ChromiumWebBrowser. Show all posts

Hide Default Context menu from CefSharp Chromium Web Browser

To hide Default Context menu you need implement IContextMenuHandler.

Add below class into your project

public class MenuHandler : CefSharp.IContextMenuHandler 
{
    public void OnBeforeContextMenu(IWebBrowser browserControl, IBrowser browser, IFrame frame, IContextMenuParams parameters, IMenuModel model)
    {
        model.Clear();
    }

    public bool OnContextMenuCommand(IWebBrowser browserControl, IBrowser browser, IFrame frame, IContextMenuParams parameters, CefMenuCommand commandId, CefEventFlags eventFlags)
    {

        return false;
    }

    public void OnContextMenuDismissed(IWebBrowser browserControl, IBrowser browser, IFrame frame)
    {

    }

    public bool RunContextMenu(IWebBrowser browserControl, IBrowser browser, IFrame frame, IContextMenuParams parameters, IMenuModel model, IRunContextMenuCallback callback)
    {
        return false;
    }
}
Use MenuHandler into browser
ChromiumWebBrowser browser = new ChromiumWebBrowser();
browser.MenuHandler = new MenuHandler();

CefSharp web browser chromium - Context menu doesn't disappears after click besides menu

Again i am back with solution of cefSharp meue control :)

Problem : Context menu doesn't disappears after click besides menu


Solution : to solve this issue, we need to create our own  custom menu and this to browser menu handler.

Step 1. Please refer this git hub class MenuHandler Add it to your project.

Step 2. Now for this you need install "MvvmLightLibs" from Nuget package. 

(Please refer How to add nuget package)

Step 3 . How to use MenuHandler 

ChromiumWebBrowser browser = new ChromiumWebBrowser();
browser.MenuHandler = new MenuHandler();

new menu will have white background to set gray background add below 2 line in RunContextMenu while creating menu object.

var converter = new System.Windows.Media.BrushConverter();
menu.Background = (System.Windows.Media.Brush)converter.ConvertFromString("#F2F2F2");


Now your problem will be solved. 

Happy Coding!!