See the question and my original answer on StackOverflow

I don't know where you got your WebBrowserHostUIHandler.cs content from but it's wrong. The definition of IDocHostUIHandler simply misses the TranslateAccelerator method.

I guess it's because my initial code used System.Windows.Forms.Message type which is a reference to the System.Windows.Forms (winforms) assembly. If this is such a problem, the method can just be replaced by this if the message is not used (wich is the case in my initial code).

So in the interface you must add this, just after ResizeBorder:

[PreserveSig]
uint TranslateAccelerator(IntPtr msg, ref Guid group, int nCmdID);

And you must implement it anywhere in the code, like this:

uint Native.IDocHostUIHandler.TranslateAccelerator(IntPtr msg, ref Guid group, int nCmdID)
{
    return S_FALSE;
}

But again, this is optional, if you want something that works just carefully copy/paste my code from my post and add a reference to System.Windows.Forms if needed.