When faced with this problem, I used the Qt port of webkit (QtWebkit) to make an ActiveX control which I can use from windows forms. It doesn't work instantly out of the box, but with a bit of massaging you can probably get what you want.
Cool bonus feature: you can mark any objects you want to expose to the browser via javascript with the COM interop attribute and send them over to your homebrewed browser control. Qt's COM interop layer turns translates the Qt flavor of dynamic dispatch calls into IDispatch calls. So it works pretty seamlessly.
Cool bonus feature: you can mark any objects you want to expose to the browser via javascript with the COM interop attribute and send them over to your homebrewed browser control. Qt's COM interop layer turns translates the Qt flavor of dynamic dispatch calls into IDispatch calls. So it works pretty seamlessly.