C#如何使用CefSharp的DragHandler?

时间:2019-06-16 18:38:47

标签: c# drag-and-drop cefsharp

我正在尝试从我的cefsharp浏览器中禁用任何类型的拖放操作。

我也尝试了与他们的文档不同的代码,但注意到到目前为止似乎还行得通。

形式

chrmiumBrwsr.DragHandler = new CustomDragHandler();

-

    public class CustomDragHandler : IDragHandler
{
    bool IDragHandler.OnDragEnter(IWebBrowser chromiumWebBrowser, IBrowser browser, IDragData dragData, DragOperationsMask mask)
    {
        return false;
    }

    void IDragHandler.OnDraggableRegionsChanged(IWebBrowser chromiumWebBrowser, IBrowser browser, IList<DraggableRegion> regions)
    {
        throw new NotImplementedException();
    }
}

1 个答案:

答案 0 :(得分:1)

只需在dragData.Dispose();之前添加return false;,然后将其更改为return true;

最终代码:

public class CustomDragHandler : IDragHandler
{
    bool IDragHandler.OnDragEnter(IWebBrowser chromiumWebBrowser, IBrowser browser, IDragData dragData, DragOperationsMask mask)
    {
        dragData.Dispose();
        return true;
    }

    void IDragHandler.OnDraggableRegionsChanged(IWebBrowser chromiumWebBrowser, IBrowser browser, IList<DraggableRegion> regions)
    {
        throw new NotImplementedException();
    }