Hi Chad,
When you say "capture an image of a web page", are you referring to
something of a screen shot? If this is the case, you are spinning your
wheels. What you want to do is either use WebClient or
WebRequest/WebResponse to capture the actual HTML of the page (otherwise
known as "scraping"). Then, once you have the original HTML, you can do with
it as you please. You can store it, save it, display it in an IFrame or
Frame or whatever else you want to do. WebBrowser is not capable of doing
this.
The WebBrowser control is really more for WinForms and displaying HTML and
not for use in WebForms. Because it is an ActiveX control, it has a huge
overhead in terms of resources (Interop is expensive). Also, when you create
it in code-behind, there isn't much that you can do to actually get the HTML
of the source page that you would want to navigate to and capture. (Things
like the HTML DOM and such is not easily exposed from the WebBrowser
control). This is where the System.Net classes really excel. They were
designed for this sort of thing.
I would strongly recommend revaluating what you need to do and see if you
can do it using the native .NET classes as opposed to using ActiveX
controls. Even a server side IFrame would be 100x better than trying to use
the WebBrowser control.
HTH,
Kyril