添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
Cef.Initialize( new CefSettings()); browser = new ChromiumWebBrowser( "http://my.csdn.net/u013564470" ); browser.Dock = DockStyle.Fill; panel1.Controls.Add(browser);

上述完成之后就可以运行了!
注意事项: 平台选择X86,右侧解决方案中引用DLL文件,文件放在 \项目名\bin\x86\Debug

C#添加代码屏蔽鼠标右键

在屏蔽之前先查看 namespace CefSharp.WinForms 内的代码

public class ChromiumWebBrowser : Control, IWebBrowserInternal, IWinFormsWebBrowser, IWebBrowser, IDisposable
    public ChromiumWebBrowser(string address);
    public IDownloadHandler DownloadHandler { get; set; }
    public ILoadHandler LoadHandler { get; set; }
    public IDisplayHandler DisplayHandler { get; set; }
    public IContextMenuHandler MenuHandler { get; set; }
    public IRenderProcessMessageHandler RenderProcessMessageHandler { get; set; }
    public IFindHandler FindHandler { get; set; }
    public IRequestHandler RequestHandler { get; set; }
    public IFocusHandler FocusHandler { get; set; }
    public IResourceHandlerFactory ResourceHandlerFactory { get; set; }
    public IGeolocationHandler GeolocationHandler { get; set; }
    public bool CanGoForward { get; }
    public bool CanGoBack { get; }
    public bool IsBrowserInitialized { get; }
    public override bool Focused { get; }
    public IDragHandler DragHandler { get; set; }
    public IKeyboardHandler KeyboardHandler { get; set; }
    public ILifeSpanHandler LifeSpanHandler { get; set; }
    public IDialogHandler DialogHandler { get; set; }
    public string Address { get; }
    public string TooltipText { get; }
    public bool IsLoading { get; }
    public RequestContext RequestContext { get; set; }
    public BrowserSettings BrowserSettings { get; set; }
    public bool IsActivating { get; set; }
    public IJsDialogHandler JsDialogHandler { get; set; }
    public event EventHandler<AddressChangedEventArgs> AddressChanged;
    public event EventHandler<StatusMessageEventArgs> StatusMessage;
    public event EventHandler<ConsoleMessageEventArgs> ConsoleMessage;
    public event EventHandler<LoadingStateChangedEventArgs> LoadingStateChanged;
    public event EventHandler<FrameLoadEndEventArgs> FrameLoadEnd;
    public event EventHandler<FrameLoadStartEventArgs> FrameLoadStart;
    public event EventHandler<LoadErrorEventArgs> LoadError;
    public event EventHandler<IsBrowserInitializedChangedEventArgs> IsBrowserInitializedChanged;
    public event EventHandler<TitleChangedEventArgs> TitleChanged;
    public IBrowser GetBrowser();
    public void Load(string url);
    public void RegisterAsyncJsObject(string name, object objectToBind, bool camelCaseJavascriptNames = true);
    public void RegisterJsObject(string name, object objectToBind, bool camelCaseJavascriptNames = true);
    protected override void Dispose(bool disposing);
    protected override void OnGotFocus(EventArgs e);
    protected override void OnHandleCreated(EventArgs e);
    protected override void OnSizeChanged(EventArgs e);

我们在其中的public IContextMenuHandler MenuHandler { get; set; }接口中更改鼠标右键事件。
方法为继承该类接口,并重写。实现方式如下:

public class MenuHandler : 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;

定义完之后在CEFSharp代码初始化中引用。如下:

public ChromiumWebBrowser browser;
public void InitBrowser()
    Cef.Initialize(new CefSettings());
    browser = new ChromiumWebBrowser("http://my.csdn.net/u013564470");
    browser.MenuHandler = new MenuHandler();
    browser.Dock = DockStyle.Fill;
    panel1.Controls.Add(browser);

之后运行,会发现已经屏蔽鼠标右键。

C#添加代码屏蔽拖动放置事件

屏蔽拖动放置事件和屏蔽鼠标右键类似。我们在其中的public IDragHandler DragHandler { get; set; }接口中更改拖动放置事件。
方法为继承该类接口,并重写。实现方式如下:

public class DragHandler : IDragHandler
    public bool OnDragEnter(IWebBrowser browserControl, IBrowser browser, IDragData dragData, DragOperationsMask mask)
        return true;// false;//throw new NotImplementedException();
    public void OnDraggableRegionsChanged(IWebBrowser browserControl, IBrowser browser, IList<DraggableRegion> regions)
        //throw new NotImplementedException();

return true;为禁止。定义完之后在CEFSharp代码初始化中引用。如下:

public ChromiumWebBrowser browser;
public void InitBrowser()
    Cef.Initialize(new CefSettings());
    browser = new ChromiumWebBrowser("http://my.csdn.net/u013564470");
    browser.MenuHandler = new MenuHandler();
    browser.DragHandler = new DragHandler();
    browser.Dock = DockStyle.Fill;
    panel1.Controls.Add(browser);

之后运行,会发现已经屏蔽鼠标右键和拖动放置事件。

Windows图标显示异常解决方法。桌面图标异常,开始菜单图标异常,任务栏图标异常。图标缓存位置。
Windows图标显示异常解决方法。桌面图标异常,开始菜单图标异常,任务栏图标异常。图标缓存位置。
原文:WPF,强制捕获鼠标事件,鼠标移出控件外依然可以执行强制捕获的鼠标事件 在WPF中,只有鼠标位置在某个控件上的时候才会触发该控件的鼠标事件。例如,有两个控件都注册了MouseDown和MouseUp事件,在控件1上按下鼠标,不要放开,移动到控件2上再放开。
win10鼠标点击文件后的颜色消失了,如何恢复?   设置 --> 个性化 --> 主题 --> 高对比度设置 --> 选择主题 --> 选择其他的主题,应用后之后再将再将主题选择为无。 如下图所示:  我的GitHub地址:https://github.