Click or drag to resize

IWinFormsWebBrowser Interface

Version 130.1.90
WinForms specific implementation, has events the ChromiumWebBrowser implementation exposes.

Namespace: CefSharp.WinForms
Assembly: CefSharp.WinForms (in CefSharp.WinForms.dll) Version: 129.0.110.0 (129.0.110.0)
Syntax
public interface IWinFormsWebBrowser : IWebBrowser, 
	IChromiumWebBrowserBase, IDisposable, IWinFormsChromiumWebBrowser, IWin32Window, IComponent, 
	ISynchronizeInvoke

The IWinFormsWebBrowser type exposes the following members.

Properties
 NameDescription
Public propertyAddress The address (URL) which the browser control is currently displaying. Will automatically be updated as the user navigates to another page (e.g. by clicking on a link).
(Inherited from IChromiumWebBrowserBase)
Public propertyAudioHandler Implement IAudioHandler to handle audio events.
(Inherited from IWebBrowser)
Public propertyBrowserCore Returns the current IBrowser Instance or null. IBrowser is the the underlying CefBrowser instance and provides access to frames/browserhost etc.
(Inherited from IChromiumWebBrowserBase)
Public propertyCanExecuteJavascriptInMainFrame A flag that indicates if you can execute javascript in the main frame. Flag is set to true in IRenderProcessMessageHandler.OnContextCreated. and false in IRenderProcessMessageHandler.OnContextReleased
(Inherited from IWebBrowser)
Public propertyCanGoBack A flag that indicates whether the state of the control current supports the GoBack action (true) or not (false).
(Inherited from IChromiumWebBrowserBase)
Public propertyCanGoForward A flag that indicates whether the state of the control currently supports the GoForward action (true) or not (false).
(Inherited from IChromiumWebBrowserBase)
Public propertyDialogHandler Implement IDialogHandler and assign to handle dialog events.
(Inherited from IWebBrowser)
Public propertyDisplayHandler Implement IDisplayHandler and assign to handle events related to browser display state.
(Inherited from IWebBrowser)
Public propertyDownloadHandler Implement IDownloadHandler and assign to handle events related to downloading files.
(Inherited from IWebBrowser)
Public propertyDragHandler Implement IDragHandler and assign to handle events related to dragging.
(Inherited from IWebBrowser)
Public propertyFindHandler Implement IFindHandler to handle events related to find results.
(Inherited from IWebBrowser)
Public propertyFocusHandler Implement IFocusHandler and assign to handle events related to the browser component's focus
(Inherited from IWebBrowser)
Public propertyFrameHandler Implement IFrameHandler to handle frame events.
(Inherited from IWebBrowser)
Public propertyHandleGets the handle to the window represented by the implementer.
(Inherited from IWin32Window)
Public propertyInvokeRequiredGets a value indicating whether the caller must call Invoke(Delegate, Object) when calling an object that implements this interface.
(Inherited from ISynchronizeInvoke)
Public propertyIsBrowserInitialized A flag that indicates whether the WebBrowser is initialized (true) or not (false).
(Inherited from IChromiumWebBrowserBase)
Public propertyIsDisposed A flag that indicates whether the WebBrowser has been disposed () or not ()
(Inherited from IChromiumWebBrowserBase)
Public propertyIsLoading A flag that indicates whether the control is currently loading one or more web pages (true) or not (false).
(Inherited from IChromiumWebBrowserBase)
Public propertyJavascriptObjectRepository The javascript object repository, one repository per ChromiumWebBrowser instance.
(Inherited from IWebBrowser)
Public propertyJsDialogHandler Implement IJsDialogHandler and assign to handle events related to JavaScript Dialogs.
(Inherited from IWebBrowser)
Public propertyKeyboardHandler Implement IKeyboardHandler and assign to handle events related to key press.
(Inherited from IWebBrowser)
Public propertyLifeSpanHandler Implement ILifeSpanHandler and assign to handle events related to popups.
(Inherited from IWebBrowser)
Public propertyLoadHandler Implement ILoadHandler and assign to handle events related to browser load status.
(Inherited from IWebBrowser)
Public propertyMenuHandler Implement IContextMenuHandler and assign to handle events related to the browser context menu
(Inherited from IWebBrowser)
Public propertyPermissionHandler Implement IPermissionHandler to handle events related to permission requests.
(Inherited from IWebBrowser)
Public propertyRenderProcessMessageHandler Implement IRenderProcessMessageHandler and assign to handle messages from the render process.
(Inherited from IWebBrowser)
Public propertyRequestContext Gets the custom request context assigned to this browser instance If no instance was assigned this will be null and the global request context will have been used for this browser. You can access the global request context through Cef.GetGlobalRequestContext()
(Inherited from IWebBrowser)
Public propertyRequestHandler Implement IRequestHandler and assign to handle events related to browser requests.
(Inherited from IWebBrowser)
Public propertyResourceRequestHandlerFactory Implement IResourceRequestHandlerFactory and control the loading of resources
(Inherited from IWebBrowser)
Public propertySiteGets or sets the ISite associated with the IComponent.
(Inherited from IComponent)
Public propertyTooltipText The text that will be displayed as a ToolTip
(Inherited from IWebBrowser)
Top
Methods
 NameDescription
Public methodBeginInvokeAsynchronously executes the delegate on the thread that created this object.
(Inherited from ISynchronizeInvoke)
Public methodDisposePerforms application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
(Inherited from IDisposable)
Public methodEndInvokeWaits until the process started by calling BeginInvoke(Delegate, Object) completes, and then returns the value generated by the process.
(Inherited from ISynchronizeInvoke)
Public methodFocus Attempts to give focus to the IWebBrowser control.
(Inherited from IChromiumWebBrowserBase)
Public methodGetBrowser Returns the current CEF Browser Instance
(Inherited from IWebBrowser)
Public methodGetContentSizeAsync Size of scrollable area in CSS pixels
(Inherited from IWebBrowser)
Public methodInvokeSynchronously executes the delegate on the thread that created this object and marshals the call to the creating thread.
(Inherited from ISynchronizeInvoke)
Public methodLoad Loads the specified url in the Main Frame. If IsDisposed is true then the method call will be ignored. Same as calling LoadUrl(String)
(Inherited from IWebBrowser)
Public methodLoadUrl Loads the specified url in the Main Frame. Same as calling Load(String)
(Inherited from IChromiumWebBrowserBase)
Public methodLoadUrlAsync Load the url in the main frame of the browser
(Inherited from IChromiumWebBrowserBase)
Public methodTryGetBrowserCoreById Try and get a reference to the IBrowser instance that matches the browserId. Primarily used for geting a reference to the IBrowser used by popups.
(Inherited from IWebBrowser)
Public methodWaitForInitialLoadAsync Wait for the Browser to finish loading the initial web page.
(Inherited from IWebBrowser)
Public methodCode exampleWaitForNavigationAsync This resolves when the browser navigates to a new URL or reloads. It is useful for when you run code which will indirectly cause the browser to navigate. A common use case would be when executing javascript that results in a navigation. e.g. clicks a link This must be called before executing the action that navigates the browser. It may not resolve correctly if called after.
(Inherited from IChromiumWebBrowserBase)
Top
Events
 NameDescription
Public eventAddressChanged Occurs when the browser address changed. It's important to note this event is fired on a CEF UI thread, which by default is not the same as your application UI thread. It is unwise to block on this thread for any length of time as your browser will become unresponsive and/or hang.. To access UI elements you'll need to Invoke/Dispatch onto the UI Thread.
(Inherited from IWinFormsChromiumWebBrowser)
Public eventConsoleMessage Event handler for receiving Javascript console messages being sent from web pages. It's important to note this event is fired on a CEF UI thread, which by default is not the same as your application UI thread. It is unwise to block on this thread for any length of time as your browser will become unresponsive and/or hang.. To access UI elements you'll need to Invoke/Dispatch onto the UI Thread. (The exception to this is when you're running with settings.MultiThreadedMessageLoop = false, then they'll be the same thread).
(Inherited from IChromiumWebBrowserBase)
Public eventDisposedRepresents the method that handles the Disposed event of a component.
(Inherited from IComponent)
Public eventFrameLoadEnd Event handler that will get called when the browser is done loading a frame. Multiple frames may be loading at the same time. Sub-frames may start or continue loading after the main frame load has ended. This method will always be called for all frames irrespective of whether the request completes successfully. It's important to note this event is fired on a CEF UI thread, which by default is not the same as your application UI thread. It is unwise to block on this thread for any length of time as your browser will become unresponsive and/or hang.. To access UI elements you'll need to Invoke/Dispatch onto the UI Thread.
(Inherited from IChromiumWebBrowserBase)
Public eventFrameLoadStart Event handler that will get called when the browser begins loading a frame. Multiple frames may be loading at the same time. Sub-frames may start or continue loading after the main frame load has ended. This method may not be called for a particular frame if the load request for that frame fails. For notification of overall browser load status use OnLoadingStateChange instead. It's important to note this event is fired on a CEF UI thread, which by default is not the same as your application UI thread. It is unwise to block on this thread for any length of time as your browser will become unresponsive and/or hang.. To access UI elements you'll need to Invoke/Dispatch onto the UI Thread.
(Inherited from IChromiumWebBrowserBase)
Public eventIsBrowserInitializedChanged Event called after the underlying CEF browser instance has been created. It's important to note this event is fired on a CEF UI thread, which by default is not the same as your application UI thread. It is unwise to block on this thread for any length of time as your browser will become unresponsive and/or hang.. To access UI elements you'll need to Invoke/Dispatch onto the UI Thread.
(Inherited from IWinFormsChromiumWebBrowser)
Public eventJavascriptMessageReceived Event handler that will get called when the message that originates from CefSharp.PostMessage
(Inherited from IWebBrowser)
Public eventLoadError Event handler that will get called when the resource load for a navigation fails or is canceled. It's important to note this event is fired on a CEF UI thread, which by default is not the same as your application UI thread. It is unwise to block on this thread for any length of time as your browser will become unresponsive and/or hang.. To access UI elements you'll need to Invoke/Dispatch onto the UI Thread.
(Inherited from IChromiumWebBrowserBase)
Public eventLoadingStateChanged Event handler that will get called when the Loading state has changed. This event will be fired twice. Once when loading is initiated either programmatically or by user action, and once when loading is terminated due to completion, cancellation of failure. It's important to note this event is fired on a CEF UI thread, which by default is not the same as your application UI thread. It is unwise to block on this thread for any length of time as your browser will become unresponsive and/or hang.. To access UI elements you'll need to Invoke/Dispatch onto the UI Thread.
(Inherited from IChromiumWebBrowserBase)
Public eventStatusMessage Event handler for changes to the status message. It's important to note this event is fired on a CEF UI thread, which by default is not the same as your application UI thread. It is unwise to block on this thread for any length of time as your browser will become unresponsive and/or hang. To access UI elements you'll need to Invoke/Dispatch onto the UI Thread. (The exception to this is when you're running with settings.MultiThreadedMessageLoop = false, then they'll be the same thread).
(Inherited from IChromiumWebBrowserBase)
Public eventTitleChanged Occurs when the browser title changed. It's important to note this event is fired on a CEF UI thread, which by default is not the same as your application UI thread. It is unwise to block on this thread for any length of time as your browser will become unresponsive and/or hang.. To access UI elements you'll need to Invoke/Dispatch onto the UI Thread.
(Inherited from IWinFormsChromiumWebBrowser)
Top
Extension Methods
 NameDescription
Public Extension MethodAddWordToDictionary Add the specified word to the spelling dictionary.
(Defined by WebBrowserExtensions)
Public Extension MethodBack Navigates back, must check CanGoBack before calling this method.
(Defined by WebBrowserExtensions)
Public Extension MethodCloseDevTools Explicitly close the developer tools window if one exists for this browser instance.
(Defined by WebBrowserExtensions)
Public Extension MethodCopy Execute Copy on the focused frame.
(Defined by WebBrowserExtensions)
Public Extension MethodCut Execute Cut on the focused frame.
(Defined by WebBrowserExtensions)
Public Extension MethodDelete Execute Delete on the focused frame.
(Defined by WebBrowserExtensions)
Public Extension MethodCode exampleDestroyWindow Manually call https://docs.microsoft.com/en-us/windows/win32/api/winuser/nf-winuser-destroywindow passing in the handle returned from GetWindowHandle. This method can be used to manually close the underlying CefBrowser instance. This will avoid the WM_Close message that CEF sends by default to the top level window. (Which closes your application). This method should generally only be used in the WinForms version.
(Defined by WebBrowserExtensions)
Public Extension MethodEnsureObjectBoundAsync Make sure an object is bound in javascript. Executes against the main frame
(Defined by JavascriptBindingExtensions)
Public Extension MethodEvaluateScriptAsPromiseAsync Evaluate Javascript in the context of the MainFrame of the ChromiumWebBrowser. The script will be executed asynchronously and the method returns a Task encapsulating the response from the Javascript. The result of the script execution in javascript is Promise.resolve so even no promise values will be treated as a promise. Your javascript should return a value. The javascript will be wrapped in an Immediately Invoked Function Expression. When the promise either trigger then/catch this returned Task will be completed.
(Defined by WebBrowserExtensions)
Public Extension MethodEvaluateScriptAsync Evaluate some Javascript code in the context of this WebBrowser. The script will be executed asynchronously and the method returns a Task encapsulating the response from the Javascript This simple helper extension will encapsulate params in single quotes (unless int, uint, etc)
(Defined by WebBrowserExtensions)
Public Extension MethodEvaluateScriptAsync Evaluate Javascript code in the context of this WebBrowser using the specified timeout. The script will be executed asynchronously and the method returns a Task encapsulating the response from the Javascript This simple helper extension will encapsulate params in single quotes (unless int, uint, etc).
(Defined by WebBrowserExtensions)
Public Extension MethodEvaluateScriptAsync Evaluate Javascript in the context of this Browsers Main Frame. The script will be executed asynchronously and the method returns a Task encapsulating the response from the Javascript
(Defined by WebBrowserExtensions)
Public Extension MethodEvaluateScriptAsyncT Evaluate Javascript in the context of this Browsers Main Frame. The script will be executed asynchronously and the method returns a Task encapsulating the response from the Javascript
(Defined by WebBrowserExtensionsEx)
Public Extension MethodExecuteDevToolsMethodAsync Execute a method call over the DevTools protocol. This is a more structured version of SendDevToolsMessage. ExecuteDevToolsMethod(IBrowserHost, Int32, String, JsonString) can only be called on the CEF UI Thread, this method can be called on any thread. See the DevTools protocol documentation at https://chromedevtools.github.io/devtools-protocol/ for details of supported methods and the expected parameters dictionary contents. See the SendDevToolsMessage documentation for additional usage information.
(Defined by DevToolsExtensions)
Public Extension MethodExecuteScriptAsync Execute Javascript in the context of this Browsers Main Frame. As the method name implies, the script will be executed asynchronously, and the method therefore returns before the script has actually been executed.
(Defined by WebBrowserExtensions)
Public Extension MethodExecuteScriptAsync Execute Javascript code in the context of this Browser. As the method name implies, the script will be executed asynchronously, and the method therefore returns before the script has actually been executed. This simple helper extension will encapsulate params in single quotes (unless int, uint, etc)
(Defined by WebBrowserExtensions)
Public Extension MethodExecuteScriptAsyncWhenPageLoaded Execute Javascript code in the context of this Browsers Main Frame. This extension method uses the LoadingStateChanged event. As the method name implies, the script will be executed asynchronously, and the method therefore returns before the script has actually been executed.
(Defined by WebBrowserExtensions)
Public Extension MethodFind Search for text within the current page.
(Defined by WebBrowserExtensions)
Public Extension MethodForward Navigates forward, must check CanGoForward before calling this method.
(Defined by WebBrowserExtensions)
Public Extension MethodGetBrowserHost Shortcut method to get the browser IBrowserHost.
(Defined by WebBrowserExtensions)
Public Extension MethodGetCookieManager Gets the default cookie manager associated with the IChromiumWebBrowserBase instance.
(Defined by WebBrowserExtensions)
Public Extension MethodGetDevToolsClient Gets a new Instance of the DevTools client for the chromiumWebBrowser instance.
(Defined by DevToolsExtensions)
Public Extension MethodGetFocusedFrame Returns the focused frame for the browser window.
(Defined by WebBrowserExtensions)
Public Extension MethodGetMainFrame Returns the main (top-level) frame for the browser window.
(Defined by WebBrowserExtensions)
Public Extension MethodGetRequestContext Gets the RequestContext associated with the IChromiumWebBrowserBase instance.
(Defined by WebBrowserExtensions)
Public Extension MethodGetSourceAsync Retrieve the main frame's HTML source using a TaskTResult.
(Defined by WebBrowserExtensions)
Public Extension MethodGetTextAsync Retrieve the main frame's display text using a TaskTResult.
(Defined by WebBrowserExtensions)
Public Extension MethodGetVisibleNavigationEntryAsync Retrieve the current NavigationEntry. Contains information like HttpStatusCode and SslStatus
(Defined by WebBrowserExtensionsEx)
Public Extension MethodGetZoomLevelAsync Asynchronously gets the current Zoom Level.
(Defined by WebBrowserExtensions)
Public Extension MethodLoadHtml Registers and loads a ResourceHandler that represents the HTML content.
(Defined by WebBrowserExtensions)
Public Extension MethodLoadHtml Loads html as Data Uri See https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URIs for details If base64Encode is false then html will be Uri encoded.
(Defined by WebBrowserExtensions)
Public Extension MethodLoadHtml Registers and loads a ResourceHandler that represents the HTML content.
(Defined by WebBrowserExtensions)
Public Extension MethodLoadUrlWithPostData Creates a new instance of IRequest with the specified Url and Method = POST and then calls LoadRequest(IRequest).
(Defined by WebBrowserExtensions)
Public Extension MethodPaste Execute Paste on the focused frame.
(Defined by WebBrowserExtensions)
Public Extension MethodPrint Opens a Print Dialog which if used (can be user cancelled) will print the browser contents.
(Defined by WebBrowserExtensions)
Public Extension MethodPrintToPdfAsync Asynchronously prints the current browser contents to the PDF file specified. The caller is responsible for deleting the file when done.
(Defined by WebBrowserExtensions)
Public Extension MethodRedo Execute Redo on the focused frame.
(Defined by WebBrowserExtensions)
Public Extension MethodRegisterAsyncJsObject

Asynchronously registers a Javascript object in this specific browser instance.

Only methods of the object will be availabe.


(Defined by WebBrowserExtensions)
Public Extension MethodRegisterJsObject Registers a Javascript object in this specific browser instance.
(Defined by WebBrowserExtensions)
Public Extension MethodRegisterResourceHandler Register a ResourceHandler. Can only be used when browser.ResourceHandlerFactory is an instance of DefaultResourceHandlerFactory.
(Defined by WebBrowserExtensions)
Public Extension MethodReload Reloads the page being displayed. This method will use data from the browser's cache, if available.
(Defined by WebBrowserExtensions)
Public Extension MethodReload Reloads the page being displayed, optionally ignoring the cache (which means the whole page including all .css, .js etc. resources will be re-fetched).
(Defined by WebBrowserExtensions)
Public Extension MethodReplaceMisspelling If a misspelled word is currently selected in an editable node calling this method will replace it with the specified word.
(Defined by WebBrowserExtensions)
Public Extension MethodSelectAll Execute SelectAll on the focused frame.
(Defined by WebBrowserExtensions)
Public Extension MethodSendMouseWheelEvent Send a mouse wheel event to the browser.
(Defined by WebBrowserExtensions)
Public Extension MethodSetAsPopup An IWebBrowser extension method that sets the HasParent property used when passing a ChromiumWebBrowser instance to OnBeforePopup(IWebBrowser, IBrowser, IFrame, String, String, WindowOpenDisposition, Boolean, IPopupFeatures, IWindowInfo, IBrowserSettings, Boolean, IWebBrowser)
(Defined by WebBrowserExtensions)
Public Extension MethodSetMainFrameDocumentContentAsync Set the Document Content for the Main Frame using DevTools Protocol.
(Defined by DevToolsExtensions)
Public Extension MethodSetZoomLevel Change the ZoomLevel to the specified value. Can be set to 0.0 to clear the zoom level.
(Defined by WebBrowserExtensions)
Public Extension MethodShowDevTools Open developer tools in its own window.
(Defined by WebBrowserExtensions)
Public Extension MethodShowDevToolsDocked Open DevTools using your own Control as the parent. If inspectElementAtX and/or inspectElementAtY are specified then the element at the specified (x,y) location will be inspected. For resize/moving to work correctly you will need to use the LifeSpanHandler implementation. (Set LifeSpanHandler to an instance of LifeSpanHandler)
(Defined by WebBrowserExtensions)
Public Extension MethodShowDevToolsDocked Open DevTools using parentControl as the parent control. If inspectElementAtX and/or inspectElementAtY are specified then the element at the specified (x,y) location will be inspected. For resize/moving to work correctly you will need to use the LifeSpanHandler implementation. (Set LifeSpanHandler to an instance of LifeSpanHandler)
(Defined by WebBrowserExtensions)
Public Extension MethodStartDownload Download the file at url using IDownloadHandler.
(Defined by WebBrowserExtensions)
Public Extension MethodStop Stops loading the current page.
(Defined by WebBrowserExtensions)
Public Extension MethodStopFinding Cancel all searches that are currently going on.
(Defined by WebBrowserExtensions)
Public Extension MethodToggleAudioMute Toggles audio mute for the current browser. If the browser is null or has been disposed then this command will be a no-op.
(Defined by WebBrowserExtensionsEx)
Public Extension MethodUndo Execute Undo on the focused frame.
(Defined by WebBrowserExtensions)
Public Extension MethodUnRegisterResourceHandler Unregister a ResourceHandler. Can only be used when browser.ResourceHandlerFactory is an instance of DefaultResourceHandlerFactory.
(Defined by WebBrowserExtensions)
Public Extension MethodViewSource Opens up a new program window (using the default text editor) where the source code of the currently displayed web page is shown.
(Defined by WebBrowserExtensions)
Public Extension MethodCode exampleWaitForSelectorAsync Waits for a DOM element specified by the selector string to be added to or removed from the DOM. A simplified version of Puppeteer WaitForSelector. Uses a MutationObserver to wait for the element to become added or removed.
(Defined by WebBrowserExtensions)
Top
See Also