In my WinForms app, if I use a WebBrowser control, it seems to be forced into compatibility mode. How can I disable this, and make it behave the same as standalone IE does on my machine when browsing the same site?
- I do not want to make registry changes. I want everything to be contained within my app.
- The website I’m loading is not mine, so I do not have the ability to make changes to it (unless they can be done programmatically from within my app).
There is no way to do this other than configuring the following registry settings:
or if it’s a 32 bit app on 64 bit Windows:
These settings aren’t surfaced in the
WebBrowsercontrol.For more information please see:
In case the link dies:
You create a
DWORDvalue matching the name of your executable and set this value to one of:For example:
From my own experiments with IE9:
9000 – inherits the compatibility mode set in IE9’s global compatibility mode setting. i.e.:

9999 – forces IE9 out of compatibility mode in the host application regardless of the globally configured compatibility mode setting
Your application would probably need to detect which underlying IE version is available to determine which value to use:
or if it’s a 32 bit app on 64 bit Windows:
There’s also this older article from when IE8 came out which is worth a look:
You can also configure these settings on a per user basis under: