Short answer: the legacy WinForms WebBrowser control has no screenshot method that Microsoft documents as supported. In particular, DrawToBitmap is not a reliable solution: Microsoft marks it unsupported for this control, and the .NET reference source says it does not work. If you can change the application, use WebView2 and its CoreWebView2.CapturePreviewAsync API to capture the WebView into an image stream. If you must keep the legacy control, treat lower-level capture techniques as configuration-specific workarounds, not as a supported contract.
This distinction matters when you need an image of the browser content rather than a picture of the whole desktop. A control-rendering API captures browser content directly; a desktop screenshot captures visible pixels and may include other windows, borders, or overlays.
Choose the right capture route
Start with the control your application actually hosts. WinForms WebBrowser is a managed wrapper around the ActiveX WebBrowser control and uses the browser version installed on the user’s computer. That legacy browser environment can differ between machines. WebView2 is a separate control with a specific preview-capture API.
| Route | What it provides | Support and key constraint |
|---|---|---|
Legacy WebBrowser with DrawToBitmap |
Would appear to offer a bitmap of a Windows Forms control. | Not supported for WebBrowserBase; Microsoft’s reference source says it does not work for this control. |
Legacy WebBrowser with a lower-level workaround |
May be investigated when replacing the control is not possible. | No supported direct screenshot method is established here. Any workaround must be validated on the actual target configuration. |
WebView2 with CapturePreviewAsync |
Writes an image of the displayed WebView to a supplied stream. | Dedicated API; call after the relevant navigation reaches ContentLoading. |
WebBrowser.Print() |
Sends the displayed document through current print and page settings. | Printing is not a bitmap screenshot of the control’s viewport. |
For a new WinForms project, Microsoft recommends WebView2 instead of the legacy WebBrowser control. The screenshot API is a practical reason to consider that migration, but the controls are not interchangeable: plan and test any change against your application’s browser behavior and deployment requirements.
Crashes, No Sound, or Screen Glitches?
Random freezes, missing sound and display glitches usually trace back to one bad driver. Find and replace yours safely.Free scan · under a minuteWindows Errors? Fix Them Before They Spread
Repair common Windows errors and clear accumulated junk for a smoother, more stable PC - no reinstall needed.Free scan · no reinstall#1 Best Overall
- 【1080P 60FPS Video Capture Card】 This HDMI game capture card is based on USB3.0 high speed transmission port, input resolution up to 4K@30HZ, output resolution up to 2K@30Hz or 1920×1080@60Hz. Type c and USB interface can meet most of the devices in daily life. Easily meet the online capture, real-time recording, online meetings, live gaming and other functions, so you have a better visual enjoyment. Note: For capture use only; requires capture software to function and is not intended for direct screen casting to a monitor or TV
- 【Ultra Low Latency Screen Sharing】 HDMI capture card is made of good quality aluminum alloy with strong heat dissipation, allowing you to enjoy ultra low latency while live gaming or video recording or live streaming, avoiding blue screens and lag. This HDMI to USBC capture card supports easy recording of good quality audio or HD video and transferring it to your computer or streaming platform, allowing you to record 60 fps HD video directly on your hard drive and real-time preview
- 【Plug and Play, Easy to Carry】 This HDMI 1080P video capture card does not require any additional drivers or external power supply, just plug and play for fast capture. The capture card is small and lightweight, so you can put it in your bag for emergencies, making it very portable for outdoor live streaming. It's also a great way to share content in game recording, video conference, video recorder and online teaching
- 【Wide Compatibility USB Capture Card】 Easily streams to Facebook, Youtube or Twitch. With the connection, this HDMI to USB C/3.0 video capture devices can be working on several Operating Systems and various software: Windows 7/ 8/ 10, Mac OS or above, Linux, Android, Laptop, Xbox One, PS3/PS4/PS5, Camera, DVDs, Set Top Box, Webcame, DSLR, Switch/Switch 2, TV BOX, HDTV, Potplayer/VLC, ZOOM, OBS Studio etc.
- 【Package Content & Note】 1x HD Audio Capture Card , 1x USB 3.0 to USB C Adapter (A-side 3.0, B-side 2.0), 1x user manual. Please note that you need to restart the OBS Studio software after the audio setup is complete, otherwise it will result in no sound output. When using an adapter, if the device is recognized as USB 2.0, try using the other side with the USB-C port. Simply flip the capture card and reconnect it to be recognized as USB 3.0
Why DrawToBitmap is the wrong answer
Windows Forms controls commonly expose DrawToBitmap, so trying it on a WebBrowser can look natural. But Microsoft identifies this method as unsupported on WebBrowserBase, and the .NET reference source explicitly notes that it does not work for this control. A blank or missing browser image is therefore not necessarily a problem with your bitmap dimensions, paint timing, or file saving: the method itself is not a supported capture route for this control.
Do not ship code like webBrowser.DrawToBitmap(bitmap, webBrowser.Bounds) as if it were a dependable screenshot solution. Changing the rectangle, calling it after a delay, or increasing bitmap size does not turn an unsupported API into a documented one.
Capture WebView2 content to an image stream
In WebView2, call CoreWebView2.CapturePreviewAsync with an image format and a writable stream. The example below creates a WinForms WebView2 control, navigates to a page, waits for its first ContentLoading event, then saves a PNG. Install the Microsoft.Web.WebView2 package and configure the project for Windows Forms before using it. The WebView2 runtime must also be available in the target environment.
Rank #2
- [Enhanced 4K-1080P Video Capture Experience] Capture the Magic: Elevate your video recordings to new heights with our upgraded anti-static 1080P Video Capture Card. Immerse yourself in stunning visuals, supporting HDMI input at 4K 60FPS and USB output for capturing in 1080P, complete with rich stereo sound. Enjoy crystal-clear video recordings, dynamic gaming live streams, and professional conference broadcasts. Note: HDMI resolution: Max input can be 3840×2160@30Hz / Video output resolution: Max output can be 1920×1080@30Hz
- [Seamless Real-Time Preview] Stay in the Moment: Our advanced ultra-low latency technology ensures seamless real-time transmission of video streams. Experience instant, lag-free previews, allowing you to capture every detail precisely. Effortlessly record video directly to your hard disk, all without compromising on quality or introducing any delays.
- [Versatility and Broad Compatibility] Your Creative Hub: Connect your DSLR, camcorder, or action camera to a wide range of operating systems, including Windows, MacOS, and Linux. Unlock a world of possibilities with real-time streaming to popular platforms like Twitch, Youtube, OBS, Zoom, Potplayer, and VLC, giving you the tools to share your content effortlessly.
- [Effortless Plug and Play] Simplicity Redefined: Say goodbye to complex installations. Our plug-and-play design eliminates the need for drivers or external power supplies. Seamlessly integrate high-definition acquisition into various scenarios, whether it's educational recordings, immersive gaming, precise medical imaging, captivating live streams, or professional broadcasting.
- [Seize Every Detail with Precision] Unleash your creativity and attention to detail with our video capture card. Capture every nuance, every color, and every moment with precision, thanks to the enhanced capabilities of our technology. Whether you're a content creator, a gamer, or a professional, our capture card empowers you to seize the finest elements and bring them to life in your recordings and live streams.
This is a capture of the WebView’s displayed content, not a screenshot of the whole Windows desktop. The example intentionally waits for the navigation event before capture; it does not claim that every image, font, or script-driven element has finished rendering.
Free tools Windows power users keep installed
One-click scans. No signup required.
using System;
using System.IO;
using System.Threading.Tasks;
using System.Windows.Forms;
using Microsoft.Web.WebView2.Core;
using Microsoft.Web.WebView2.WinForms;
internal static class Program
{
[STAThread]
private static void Main()
{
ApplicationConfiguration.Initialize();
Application.Run(new CaptureForm());
}
}
public sealed class CaptureForm : Form
{
private readonly WebView2 webView = new WebView2();
public CaptureForm()
{
Text = "WebView2 capture";
Width = 1100;
Height = 800;
webView.Dock = DockStyle.Fill;
Controls.Add(webView);
Shown += CaptureForm_Shown;
}
private async void CaptureForm_Shown(object? sender, EventArgs e)
{
try
{
await webView.EnsureCoreWebView2Async();
var contentLoading = new TaskCompletionSource<bool>(
TaskCreationOptions.RunContinuationsAsynchronously);
void OnContentLoading(object? s, CoreWebView2ContentLoadingEventArgs args)
{
webView.CoreWebView2.ContentLoading -= OnContentLoading;
contentLoading.TrySetResult(true);
}
webView.CoreWebView2.ContentLoading += OnContentLoading;
webView.CoreWebView2.Navigate("https://example.com/");
await contentLoading.Task;
using var image = new MemoryStream();
await webView.CoreWebView2.CapturePreviewAsync(
CoreWebView2CapturePreviewImageFormat.Png, image);
await File.WriteAllBytesAsync("webview.png", image.ToArray());
MessageBox.Show(this, "Saved webview.png");
}
catch (Exception ex)
{
MessageBox.Show(this, ex.Message, "Capture failed");
}
}
}
What the code waits for—and what it does not
The event handler is attached before Navigate, so the first content-loading event for that navigation is not missed. Microsoft documents that a capture before the first ContentLoading event fails; during later navigations, calling too early can capture the page being navigated away from. Awaiting the event avoids those specific timing mistakes.
ContentLoading is a navigation milestone, not a guarantee that every asynchronous page task or lazy-loaded image is complete. If the page has additional content that appears later, decide what “ready” means for your application and wait for an application-specific signal—such as a known page element or script callback—before capturing. Do not substitute an arbitrary sleep and assume it will work across pages or machines.
Rank #3
- 【4K HDMI Input, 2K@30Hz Recording】Powered by a true USB 3.0 high-speed interface, the capture card supports up to 4K@30Hz HDMI input and records at 2K@30Hz or 1080P@60Hz. Perfect for gamers, streamers, and professionals who need crisp, smooth video for live streaming, gameplay recording, or online meetings.
- 【Ultra Low Latency Screen Sharing】Built with a premium aluminum alloy shell and advanced chipset for stable heat dissipation, ensuring ultra-low latency transmission. Capture high-quality video and dual-channel audio in real time—no lag, no frame drop—ideal for Twitch, YouTube, or OBS streaming.
- 【Easy Plug and Play, Compact & Portable】No driver or external power required—just plug and play via USB 3.0 or Type-C connection to your Windows or macOS computer. Lightweight and compact design makes it easy to carry for outdoor streaming, live shows, or mobile recording setups.
- 【Wide Compatibility & Multi-Device Support】Compatible with Windows 7 8 10 11, macOS, Linux,Android and supports most popular software such as OBS, Zoom, VLC, Twitch Studio, and more. Works seamlessly with PS4, PS5, Xbox, Switch, DSLR cameras, TV boxes, and other HDMI-output devices for streaming to YouTube, Twitch, etc.
- 【What You Get】Includes: HDMI Capture Card, USB 3.0 to USB-C Adapter, User Manual. Tips: Make sure your tablet’s OTG function is enabled before connecting. Test your HDMI device with a monitor first to confirm video and audio output, then connect to the Video Capture Card for recording.
The capture call is awaited before the stream is read. This matters because the image bytes are produced asynchronously; saving or reading the stream before the call completes can produce incomplete output. The sample writes a PNG in the application’s current working directory. Use an explicit destination path if that is not an appropriate location for your application.
If you must keep the legacy WebBrowser control
The official Microsoft material covered here does not establish a supported direct screenshot API for the legacy control. Some developers investigate lower-level OLE or COM rendering interfaces, but that is a workaround path, not a documented universal answer. No such implementation is supplied here as a guaranteed working recipe.
If you evaluate a workaround, verify it in the exact environment you will ship. Record the .NET Framework target, Windows version, installed browser version, control visibility, window state, DPI scaling, clipping, and representative page content. A technique that seems to work on one developer machine may fail with another installed browser version, a hidden or occluded control, a different DPI, or content that has not finished rendering. Keep that verification in automated or repeatable checks where possible; do not infer general support from one successful capture.
Rank #4
- 【1080P HD High Quality】Capture resolution up to 1080p for video source and it is ideal for all HDMI devices such as PS4, PS3, Xbox One, Xbox 360, Wii U, DVDs, DSLR, Camera, Security Camera and set top box. Note: Video input supports 4K30/60Hz and 1080p120/144Hz. Does not support 4K120Hz/144Hz. Output supports up to 2K30Hz.
- 【Plug and Play】No driver or external power supply required, true PnP. Once plugged in, the device is identified automatically as a webcam. Detect input and adjust output automatically. Won't occupy CPU, optional audio capture. No freeze with correct setting.
- 【Compatible with Multiple Systems】suitable for Windows and Mac OS. High speed USB 3.0 technology and superior low latency technology makes it easier for you to transmit live streaming to Twitch, Youtube, Facebook, Twitter, OBS, Potplayer and VLC.
- 【HDMI LOOP-OUT】Based on the high-speed USB 3.0 technology, it can capture one single channel HD HDMI video signal. There is no delay when you are playing game live.
- 【Support Mic-in for Commentary】Rybozen capture card has microphone input and you can use it to add external commentary when playing a game. Please note: it only accepts 3.5mm TRS standard microphone headset.
If you can migrate, use WebView2’s documented preview API. If your actual requirement is a printable document rather than pixels matching the visible browser viewport, use the print workflow instead.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.When printing is the right output
WebBrowser.Print() prints the current document using the current print and page settings. It is appropriate when the deliverable is a printed page or a print-to-file workflow. It is not equivalent to capturing an image of the control: page layout, pagination, margins, and print settings can change the output compared with the current viewport.
Microsoft’s printing example waits for DocumentCompleted before calling Print(), and demonstrates printing with a browser instance that is not displayed. That is a different timing and output path from WebView2 preview capture, for which the documented milestone is ContentLoading.
The Tool Desk
Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →Best Value
- AV TO USB Converter: Capture videos and audios from VHS, VCR, Hi8, DV tapes to a PC, with the help of our USB Video Converter. Save room while digitizing your favorite old memories
- Quality Capture Card: Our USB Video Capture Card converting anolog RCA composite input into HD 720P USB output and capturing audio without any sound card. Advanced signal processing technology provides you with great precision, colors, resolutions, and details.
- Plug and Play: Automatically install the driver once you hook up this RCA to USB Converter to a PC. No external power is needed. User-friendly and easy to operate
- Wide Compatibility: The Video Capture Card can work with video devices with RCA connector or S-Video connector, such as VHS, VCR, Hi8, camcorder, compatible with Windows and Mac OS. Support video formats like NTSC, PAL, and support brightness, contrast, hue, and saturation control
- Note: The Video Converter is used with acquisition software. We recommend OBS Studio or PotPlayer for Windows, and QuickTime Player for Mac. They can be downloaded for free online. Please operate according to the steps in User Manual or contact us if you have any questions
Or skip the browser setup
ScreenshotNeo is a website screenshot API, not a way to capture pixels from a local WinForms control. If the page you need is available by URL and an API-based website capture fits your workflow, one GET request returns an image or PDF. See the ScreenshotNeo API documentation for parameters.
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://example.com -o shot.webp
ScreenshotNeo removes cookie/consent banners, newsletter popups, and chat widgets before capture; those steps can be turned off. Bot checks, blank pages, failed loads, timeouts, and cache hits are not billed, and response headers identify the page verdict and billing status. Its MCP server provides screenshot tools for AI agents. The free plan includes 1,000 screenshots per month with no card; paid plans start at $5 for 3,000. These API features do not make it a substitute for capturing an embedded local control.
Sign up for ScreenshotNeo’s free plan to try URL-based captures.
Troubleshooting capture problems
DrawToBitmapreturns a blank or incomplete image: this route is unsupported for the legacy WebBrowser control. Do not treat bitmap sizing or repeated retries as a reliable fix; consider WebView2 or validate a control-specific workaround.- WebView2 reports that capture failed before content loading: ensure initialization completed, attach the event handler before navigation, and await the relevant
ContentLoadingevent before callingCapturePreviewAsync. - The image shows the page you navigated away from: on a later navigation, capture may have been called too early. Tie capture to the content-loading event for the navigation you intend to capture.
- The capture succeeds but a page element is absent:
ContentLoadingalone does not establish that all asynchronous content is ready. Wait for a page-specific readiness condition before capturing. - The result is a document layout rather than the visible browser view: you are likely using
Print(). Printing uses page and print settings; use WebView2 preview capture when you need image bytes of the displayed WebView. - The app behaves differently across computers: legacy WebBrowser uses the installed browser version. Validate the target machine’s browser environment, and evaluate WebView2 if you need its dedicated capture API.
Practical reliability and deployment notes
- Keep UI operations on the owning UI thread. WinForms controls are tied to their UI thread; perform navigation and capture through that control’s normal asynchronous UI flow rather than calling it arbitrarily from a worker thread.
- Use an explicit file path and handle failures. The sample catches exceptions so the app can report initialization, navigation, capture, or save errors instead of failing silently.
- Define page readiness for your use case. A document entering content loading is not proof that a dashboard, animation, or lazy-loaded page has reached the exact state you want to preserve.
- Test the deployed runtime. WebView2 SDK and runtime versions can change; the legacy control is affected by the browser installed on the user’s computer. Verify the behavior on the actual deployment configuration.
- Choose the artifact deliberately. Use preview capture for image bytes, print for a print-oriented document, and do not confuse either with a whole-desktop screenshot.
Frequently Asked Questions
Does WebView2 capture the whole web page, including content outside the visible viewport?
The documented API captures an image of the displayed WebView. The cited API details do not establish a full-document, beyond-the-viewport capture mode; verify the output dimensions and behavior for your WebView2 version and page.
Do these 3 things before closing this tab:
1Clear out junk files and repair common Windows errors2Fix the driver behind crashes, sound loss and screen glitches3Repair Windows errors before they cause bigger problemsCan I use ScreenshotNeo to capture a WebBrowser control inside my desktop app?
No. ScreenshotNeo takes a website URL as input; it does not capture a local WinForms control or the pixels of an embedded desktop application.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

