// Copyright (c) .NET Foundation. All rights reserved.
// Licensed under the MIT license. See LICENSE file in the project root for details.

//------------------------------------------------------------------------------
// <autogenerated>
//     This code was generated by a tool.
//     Runtime Version: 1.0.3705.209
//
//     Changes to this file may cause incorrect behavior and will be lost if 
//     the code is regenerated.
// </autogenerated>
//------------------------------------------------------------------------------


// IMPORTANT NOTE: This file was autogenerated by AXIMP.EXE. We made 3 changes to the 
// autogenerated file:
//
//	(1) Changed the version of SHDocVw it imports to OpenLiveWriter.Interop.SHDocVw;
//  (2) Commented out its assembly version attribute (because we alrady have one
//		defined in AssemblyInfo.cs); and
//	(3) Changed its namespace to OpenLiveWriter.BrowserControl.
//
// Each of these changes is noted using a comment beginning with 'CHANGE'. If the
// file needs to be regenerated simply make these changes again.


// CHANGE: Alias SHDocVw to our custom imported/signed version
using System;
using System.ComponentModel;
using System.Runtime.InteropServices;
using System.Windows.Forms;
using SHDocVw = OpenLiveWriter.Interop.SHDocVw;
// CHANGE: Comment-out their AssemblyVersion attribute (use ours defined in AssemblyInfo.cs)
//[assembly: System.Reflection.AssemblyVersion("1.1.0.0")]

[assembly: System.Windows.Forms.AxHost.TypeLibraryTimeStamp("11/30/2005 10:59:30 PM")]

namespace OpenLiveWriter.BrowserControl {
    
    
    [System.Windows.Forms.AxHost.ClsidAttribute("{8856f961-340a-11d0-a96b-00c04fd705a2}")]
    [System.ComponentModel.DesignTimeVisibleAttribute(true)]
    [System.ComponentModel.DefaultProperty("Name")]
    public class AxWebBrowser : System.Windows.Forms.AxHost {
        
        private SHDocVw.IWebBrowser2 ocx;
        
        private AxWebBrowserEventMulticaster eventMulticaster;
        
        private System.Windows.Forms.AxHost.ConnectionPointCookie cookie;
        
        public AxWebBrowser() : 
                base("8856f961-340a-11d0-a96b-00c04fd705a2") {
        }
        
        [System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Hidden)]
        [System.Runtime.InteropServices.DispIdAttribute(200)]
        public virtual object Application {
            get {
                if ((this.ocx == null)) {
                    throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("Application", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertyGet);
                }
                return this.ocx.Application;
            }
        }
        
        [System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Hidden)]
        [System.Runtime.InteropServices.DispIdAttribute(201)]
        public virtual object CtlParent {
            get {
                if ((this.ocx == null)) {
                    throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("CtlParent", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertyGet);
                }
                return this.ocx.Parent;
            }
        }
        
        [System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Hidden)]
        [System.Runtime.InteropServices.DispIdAttribute(202)]
        public virtual object CtlContainer {
            get {
                if ((this.ocx == null)) {
                    throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("CtlContainer", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertyGet);
                }
                return this.ocx.Container;
            }
        }
        
        [System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Hidden)]
        [System.Runtime.InteropServices.DispIdAttribute(203)]
        public virtual object Document {
            get {
                if ((this.ocx == null)) {
                    throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("Document", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertyGet);
                }
                return this.ocx.Document;
            }
        }
        
        [System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Hidden)]
        [System.Runtime.InteropServices.DispIdAttribute(204)]
        public virtual bool TopLevelContainer {
            get {
                if ((this.ocx == null)) {
                    throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("TopLevelContainer", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertyGet);
                }
                return this.ocx.TopLevelContainer;
            }
        }
        
        [System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Hidden)]
        [System.Runtime.InteropServices.DispIdAttribute(205)]
        public virtual string Type {
            get {
                if ((this.ocx == null)) {
                    throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("Type", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertyGet);
                }
                return this.ocx.Type;
            }
        }
        
        [System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Hidden)]
        [System.Runtime.InteropServices.DispIdAttribute(206)]
        public virtual int CtlLeft {
            get {
                if ((this.ocx == null)) {
                    throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("CtlLeft", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertyGet);
                }
                return this.ocx.Left;
            }
            set {
                if ((this.ocx == null)) {
                    throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("CtlLeft", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertySet);
                }
                this.ocx.Left = value;
            }
        }
        
        [System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Hidden)]
        [System.Runtime.InteropServices.DispIdAttribute(207)]
        public virtual int CtlTop {
            get {
                if ((this.ocx == null)) {
                    throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("CtlTop", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertyGet);
                }
                return this.ocx.Top;
            }
            set {
                if ((this.ocx == null)) {
                    throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("CtlTop", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertySet);
                }
                this.ocx.Top = value;
            }
        }
        
        [System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Hidden)]
        [System.Runtime.InteropServices.DispIdAttribute(208)]
        public virtual int CtlWidth {
            get {
                if ((this.ocx == null)) {
                    throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("CtlWidth", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertyGet);
                }
                return this.ocx.Width;
            }
            set {
                if ((this.ocx == null)) {
                    throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("CtlWidth", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertySet);
                }
                this.ocx.Width = value;
            }
        }
        
        [System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Hidden)]
        [System.Runtime.InteropServices.DispIdAttribute(209)]
        public virtual int CtlHeight {
            get {
                if ((this.ocx == null)) {
                    throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("CtlHeight", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertyGet);
                }
                return this.ocx.Height;
            }
            set {
                if ((this.ocx == null)) {
                    throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("CtlHeight", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertySet);
                }
                this.ocx.Height = value;
            }
        }
        
        [System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Hidden)]
        [System.Runtime.InteropServices.DispIdAttribute(210)]
        public virtual string LocationName {
            get {
                if ((this.ocx == null)) {
                    throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("LocationName", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertyGet);
                }
                return this.ocx.LocationName;
            }
        }
        
        [System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Hidden)]
        [System.Runtime.InteropServices.DispIdAttribute(211)]
        public virtual string LocationURL {
            get {
                if ((this.ocx == null)) {
                    throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("LocationURL", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertyGet);
                }
                return this.ocx.LocationURL;
            }
        }
        
        [System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Hidden)]
        [System.Runtime.InteropServices.DispIdAttribute(212)]
        public virtual bool Busy {
            get {
                if ((this.ocx == null)) {
                    throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("Busy", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertyGet);
                }
                return this.ocx.Busy;
            }
        }
        
        [System.ComponentModel.Browsable(true)]
        [System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Hidden)]
        [System.Runtime.InteropServices.DispIdAttribute(0)]
        public new virtual string Name {
            get {
                if ((this.ocx == null)) {
                    throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("Name", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertyGet);
                }
                return this.ocx.Name;
            }
        }
        
        [System.ComponentModel.Browsable(false)]
        [System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Hidden)]
        [System.Runtime.InteropServices.DispIdAttribute(-515)]
        [System.Runtime.InteropServices.ComAliasNameAttribute("System.Int32")]
        public virtual int HWND {
            get {
                if ((this.ocx == null)) {
                    throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("HWND", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertyGet);
                }
                return (this.ocx.HWND);
            }
        }
        
        [System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Hidden)]
        [System.Runtime.InteropServices.DispIdAttribute(400)]
        public virtual string FullName {
            get {
                if ((this.ocx == null)) {
                    throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("FullName", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertyGet);
                }
                return this.ocx.FullName;
            }
        }
        
        [System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Hidden)]
        [System.Runtime.InteropServices.DispIdAttribute(401)]
        public virtual string Path {
            get {
                if ((this.ocx == null)) {
                    throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("Path", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertyGet);
                }
                return this.ocx.Path;
            }
        }
        
        [System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Hidden)]
        [System.Runtime.InteropServices.DispIdAttribute(402)]
        public virtual bool CtlVisible {
            get {
                if ((this.ocx == null)) {
                    throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("CtlVisible", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertyGet);
                }
                return this.ocx.Visible;
            }
            set {
                if ((this.ocx == null)) {
                    throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("CtlVisible", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertySet);
                }
                this.ocx.Visible = value;
            }
        }
        
        [System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Hidden)]
        [System.Runtime.InteropServices.DispIdAttribute(403)]
        public virtual bool StatusBar {
            get {
                if ((this.ocx == null)) {
                    throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("StatusBar", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertyGet);
                }
                return this.ocx.StatusBar;
            }
            set {
                if ((this.ocx == null)) {
                    throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("StatusBar", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertySet);
                }
                this.ocx.StatusBar = value;
            }
        }
        
        [System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Hidden)]
        [System.Runtime.InteropServices.DispIdAttribute(404)]
        public virtual string StatusText {
            get {
                if ((this.ocx == null)) {
                    throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("StatusText", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertyGet);
                }
                return this.ocx.StatusText;
            }
            set {
                if ((this.ocx == null)) {
                    throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("StatusText", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertySet);
                }
                this.ocx.StatusText = value;
            }
        }
        
        [System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Hidden)]
        [System.Runtime.InteropServices.DispIdAttribute(405)]
        public virtual int ToolBar {
            get {
                if ((this.ocx == null)) {
                    throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("ToolBar", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertyGet);
                }
                return this.ocx.ToolBar;
            }
            set {
                if ((this.ocx == null)) {
                    throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("ToolBar", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertySet);
                }
                this.ocx.ToolBar = value;
            }
        }
        
        [System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Hidden)]
        [System.Runtime.InteropServices.DispIdAttribute(406)]
        public virtual bool MenuBar {
            get {
                if ((this.ocx == null)) {
                    throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("MenuBar", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertyGet);
                }
                return this.ocx.MenuBar;
            }
            set {
                if ((this.ocx == null)) {
                    throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("MenuBar", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertySet);
                }
                this.ocx.MenuBar = value;
            }
        }
        
        [System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Hidden)]
        [System.Runtime.InteropServices.DispIdAttribute(407)]
        public virtual bool FullScreen {
            get {
                if ((this.ocx == null)) {
                    throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("FullScreen", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertyGet);
                }
                return this.ocx.FullScreen;
            }
            set {
                if ((this.ocx == null)) {
                    throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("FullScreen", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertySet);
                }
                this.ocx.FullScreen = value;
            }
        }
        
        [System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Hidden)]
        [System.Runtime.InteropServices.DispIdAttribute(-525)]
        [System.ComponentModel.Bindable(System.ComponentModel.BindableSupport.Yes)]
        public virtual SHDocVw.tagREADYSTATE ReadyState {
            get {
                if ((this.ocx == null)) {
                    throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("ReadyState", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertyGet);
                }
                return this.ocx.ReadyState;
            }
        }
        
        [System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Hidden)]
        [System.Runtime.InteropServices.DispIdAttribute(550)]
        public virtual bool Offline {
            get {
                if ((this.ocx == null)) {
                    throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("Offline", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertyGet);
                }
                return this.ocx.Offline;
            }
            set {
                if ((this.ocx == null)) {
                    throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("Offline", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertySet);
                }
                this.ocx.Offline = value;
            }
        }
        
        [System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Hidden)]
        [System.Runtime.InteropServices.DispIdAttribute(551)]
        public virtual bool Silent {
            get {
                if ((this.ocx == null)) {
                    throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("Silent", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertyGet);
                }
                return this.ocx.Silent;
            }
            set {
                if ((this.ocx == null)) {
                    throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("Silent", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertySet);
                }
                this.ocx.Silent = value;
            }
        }
        
        [System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Hidden)]
        [System.Runtime.InteropServices.DispIdAttribute(552)]
        public virtual bool RegisterAsBrowser {
            get {
                if ((this.ocx == null)) {
                    throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("RegisterAsBrowser", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertyGet);
                }
                return this.ocx.RegisterAsBrowser;
            }
            set {
                if ((this.ocx == null)) {
                    throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("RegisterAsBrowser", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertySet);
                }
                this.ocx.RegisterAsBrowser = value;
            }
        }
        
        [System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Hidden)]
        [System.Runtime.InteropServices.DispIdAttribute(553)]
        public virtual bool RegisterAsDropTarget {
            get {
                if ((this.ocx == null)) {
                    throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("RegisterAsDropTarget", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertyGet);
                }
                return this.ocx.RegisterAsDropTarget;
            }
            set {
                if ((this.ocx == null)) {
                    throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("RegisterAsDropTarget", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertySet);
                }
                this.ocx.RegisterAsDropTarget = value;
            }
        }
        
        [System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Hidden)]
        [System.Runtime.InteropServices.DispIdAttribute(554)]
        public virtual bool TheaterMode {
            get {
                if ((this.ocx == null)) {
                    throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("TheaterMode", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertyGet);
                }
                return this.ocx.TheaterMode;
            }
            set {
                if ((this.ocx == null)) {
                    throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("TheaterMode", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertySet);
                }
                this.ocx.TheaterMode = value;
            }
        }
        
        [System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Hidden)]
        [System.Runtime.InteropServices.DispIdAttribute(555)]
        public virtual bool AddressBar {
            get {
                if ((this.ocx == null)) {
                    throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("AddressBar", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertyGet);
                }
                return this.ocx.AddressBar;
            }
            set {
                if ((this.ocx == null)) {
                    throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("AddressBar", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertySet);
                }
                this.ocx.AddressBar = value;
            }
        }
        
        [System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Hidden)]
        [System.Runtime.InteropServices.DispIdAttribute(556)]
        public virtual bool Resizable {
            get {
                if ((this.ocx == null)) {
                    throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("Resizable", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertyGet);
                }
                return this.ocx.Resizable;
            }
            set {
                if ((this.ocx == null)) {
                    throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("Resizable", System.Windows.Forms.AxHost.ActiveXInvokeKind.PropertySet);
                }
                this.ocx.Resizable = value;
            }
        }
        
        public event DWebBrowserEvents2_PrivacyImpactedStateChangeEventHandler PrivacyImpactedStateChange;
        
        public event DWebBrowserEvents2_UpdatePageStatusEventHandler UpdatePageStatus;
        
        public event DWebBrowserEvents2_PrintTemplateTeardownEventHandler PrintTemplateTeardown;
        
        public event DWebBrowserEvents2_PrintTemplateInstantiationEventHandler PrintTemplateInstantiation;
        
        public event DWebBrowserEvents2_NavigateErrorEventHandler NavigateError;
        
        public event DWebBrowserEvents2_FileDownloadEventHandler FileDownload;
        
        public event DWebBrowserEvents2_SetSecureLockIconEventHandler SetSecureLockIcon;
        
        public event DWebBrowserEvents2_ClientToHostWindowEventHandler ClientToHostWindow;
        
        public event DWebBrowserEvents2_WindowClosingEventHandler WindowClosing;
        
        public event DWebBrowserEvents2_WindowSetHeightEventHandler WindowSetHeight;
        
        public event DWebBrowserEvents2_WindowSetWidthEventHandler WindowSetWidth;
        
        public event DWebBrowserEvents2_WindowSetTopEventHandler WindowSetTop;
        
        public event DWebBrowserEvents2_WindowSetLeftEventHandler WindowSetLeft;
        
        public event DWebBrowserEvents2_WindowSetResizableEventHandler WindowSetResizable;
        
        public event DWebBrowserEvents2_OnTheaterModeEventHandler OnTheaterMode;
        
        public event DWebBrowserEvents2_OnFullScreenEventHandler OnFullScreen;
        
        public event DWebBrowserEvents2_OnStatusBarEventHandler OnStatusBar;
        
        public event DWebBrowserEvents2_OnMenuBarEventHandler OnMenuBar;
        
        public event DWebBrowserEvents2_OnToolBarEventHandler OnToolBar;
        
        public event DWebBrowserEvents2_OnVisibleEventHandler OnVisible;
        
        public event System.EventHandler OnQuit;
        
        public event DWebBrowserEvents2_DocumentCompleteEventHandler DocumentComplete;
        
        public event DWebBrowserEvents2_NavigateComplete2EventHandler NavigateComplete2;
        
        public event DWebBrowserEvents2_NewWindow2EventHandler NewWindow2;
        
        public event DWebBrowserEvents2_BeforeNavigate2EventHandler BeforeNavigate2;
        
        public event DWebBrowserEvents2_PropertyChangeEventHandler PropertyChange;
        
        public event DWebBrowserEvents2_TitleChangeEventHandler TitleChange;
        
        public event System.EventHandler DownloadComplete;
        
        public event System.EventHandler DownloadBegin;
        
        public event DWebBrowserEvents2_CommandStateChangeEventHandler CommandStateChange;
        
        public event DWebBrowserEvents2_ProgressChangeEventHandler ProgressChange;
        
        public event DWebBrowserEvents2_StatusTextChangeEventHandler StatusTextChange;
        
        public virtual void ShowBrowserBar(ref object pvaClsid) {
            if ((this.ocx == null)) {
                throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("ShowBrowserBar", System.Windows.Forms.AxHost.ActiveXInvokeKind.MethodInvoke);
            }
            object[] paramArray = new object[] {
                    pvaClsid,
                    System.Reflection.Missing.Value,
                    System.Reflection.Missing.Value};
            System.Type typeVar = typeof(SHDocVw.IWebBrowser2);
            System.Reflection.MethodInfo methodToInvoke = typeVar.GetMethod("ShowBrowserBar");
            methodToInvoke.Invoke(this.ocx, paramArray);
            pvaClsid = ((object)(paramArray[0]));
        }
        
        public virtual void ShowBrowserBar(ref object pvaClsid, ref object pvarShow, ref object pvarSize) {
            if ((this.ocx == null)) {
                throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("ShowBrowserBar", System.Windows.Forms.AxHost.ActiveXInvokeKind.MethodInvoke);
            }
            this.ocx.ShowBrowserBar(ref pvaClsid, ref pvarShow, ref pvarSize);
        }
        
        public virtual void ExecWB(SHDocVw.OLECMDID cmdID, SHDocVw.OLECMDEXECOPT cmdexecopt) {
            if ((this.ocx == null)) {
                throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("ExecWB", System.Windows.Forms.AxHost.ActiveXInvokeKind.MethodInvoke);
            }
            object[] paramArray = new object[] {
                    cmdID,
                    cmdexecopt,
                    System.Reflection.Missing.Value,
                    System.Reflection.Missing.Value};
            System.Type typeVar = typeof(SHDocVw.IWebBrowser2);
            System.Reflection.MethodInfo methodToInvoke = typeVar.GetMethod("ExecWB");
            methodToInvoke.Invoke(this.ocx, paramArray);
        }
        
        public virtual void ExecWB(SHDocVw.OLECMDID cmdID, SHDocVw.OLECMDEXECOPT cmdexecopt, ref object pvaIn, ref object pvaOut) {
            if ((this.ocx == null)) {
                throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("ExecWB", System.Windows.Forms.AxHost.ActiveXInvokeKind.MethodInvoke);
            }
            this.ocx.ExecWB(cmdID, cmdexecopt, ref pvaIn, ref pvaOut);
        }
        
        public virtual SHDocVw.OLECMDF QueryStatusWB(SHDocVw.OLECMDID cmdID) {
            if ((this.ocx == null)) {
                throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("QueryStatusWB", System.Windows.Forms.AxHost.ActiveXInvokeKind.MethodInvoke);
            }
            return this.ocx.QueryStatusWB(cmdID);
        }
        
        public virtual void Navigate2(ref object uRL) {
            if ((this.ocx == null)) {
                throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("Navigate2", System.Windows.Forms.AxHost.ActiveXInvokeKind.MethodInvoke);
            }
            object[] paramArray = new object[] {
                    uRL,
                    System.Reflection.Missing.Value,
                    System.Reflection.Missing.Value,
                    System.Reflection.Missing.Value,
                    System.Reflection.Missing.Value};
            System.Type typeVar = typeof(SHDocVw.IWebBrowser2);
            System.Reflection.MethodInfo methodToInvoke = typeVar.GetMethod("Navigate2");
            methodToInvoke.Invoke(this.ocx, paramArray);
            uRL = ((object)(paramArray[0]));
        }
        
        public virtual void Navigate2(ref object uRL, ref object flags, ref object targetFrameName, ref object postData, ref object headers) {
            if ((this.ocx == null)) {
                throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("Navigate2", System.Windows.Forms.AxHost.ActiveXInvokeKind.MethodInvoke);
            }
            this.ocx.Navigate2(ref uRL, ref flags, ref targetFrameName, ref postData, ref headers);
        }
        
        public virtual object GetProperty(string property) {
            if ((this.ocx == null)) {
                throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("GetProperty", System.Windows.Forms.AxHost.ActiveXInvokeKind.MethodInvoke);
            }
            return this.ocx.GetProperty(property);
        }
        
        public virtual void PutProperty(string property, object vtValue) {
            if ((this.ocx == null)) {
                throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("PutProperty", System.Windows.Forms.AxHost.ActiveXInvokeKind.MethodInvoke);
            }
            this.ocx.PutProperty(property, vtValue);
        }
        
        public virtual void ClientToWindow(ref int pcx, ref int pcy) {
            if ((this.ocx == null)) {
                throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("ClientToWindow", System.Windows.Forms.AxHost.ActiveXInvokeKind.MethodInvoke);
            }
            this.ocx.ClientToWindow(ref pcx, ref pcy);
        }
        
        public virtual void Quit() {
            if ((this.ocx == null)) {
                throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("Quit", System.Windows.Forms.AxHost.ActiveXInvokeKind.MethodInvoke);
            }
            this.ocx.Quit();
        }
        
        public virtual void Stop() {
            if ((this.ocx == null)) {
                throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("Stop", System.Windows.Forms.AxHost.ActiveXInvokeKind.MethodInvoke);
            }
            this.ocx.Stop();
        }
        
        public virtual void Refresh2() {
            if ((this.ocx == null)) {
                throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("Refresh2", System.Windows.Forms.AxHost.ActiveXInvokeKind.MethodInvoke);
            }
            object[] paramArray = new object[] {
                    System.Reflection.Missing.Value};
            System.Type typeVar = typeof(SHDocVw.IWebBrowser2);
            System.Reflection.MethodInfo methodToInvoke = typeVar.GetMethod("Refresh2");
            methodToInvoke.Invoke(this.ocx, paramArray);
        }
        
        public virtual void Refresh2(ref object level) {
            if ((this.ocx == null)) {
                throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("Refresh2", System.Windows.Forms.AxHost.ActiveXInvokeKind.MethodInvoke);
            }
            this.ocx.Refresh2(ref level);
        }
        
        public virtual void CtlRefresh() {
            if ((this.ocx == null)) {
                throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("CtlRefresh", System.Windows.Forms.AxHost.ActiveXInvokeKind.MethodInvoke);
            }
            this.ocx.Refresh();
        }
        
        public virtual void Navigate(string uRL) {
            if ((this.ocx == null)) {
                throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("Navigate", System.Windows.Forms.AxHost.ActiveXInvokeKind.MethodInvoke);
            }
            object[] paramArray = new object[] {
                    uRL,
                    System.Reflection.Missing.Value,
                    System.Reflection.Missing.Value,
                    System.Reflection.Missing.Value,
                    System.Reflection.Missing.Value};
            System.Type typeVar = typeof(SHDocVw.IWebBrowser2);
            System.Reflection.MethodInfo methodToInvoke = typeVar.GetMethod("Navigate");
            methodToInvoke.Invoke(this.ocx, paramArray);
        }
        
        public virtual void Navigate(string uRL, ref object flags, ref object targetFrameName, ref object postData, ref object headers) {
            if ((this.ocx == null)) {
                throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("Navigate", System.Windows.Forms.AxHost.ActiveXInvokeKind.MethodInvoke);
            }
            this.ocx.Navigate(uRL, ref flags, ref targetFrameName, ref postData, ref headers);
        }
        
        public virtual void GoSearch() {
            if ((this.ocx == null)) {
                throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("GoSearch", System.Windows.Forms.AxHost.ActiveXInvokeKind.MethodInvoke);
            }
            this.ocx.GoSearch();
        }
        
        public virtual void GoHome() {
            if ((this.ocx == null)) {
                throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("GoHome", System.Windows.Forms.AxHost.ActiveXInvokeKind.MethodInvoke);
            }
            this.ocx.GoHome();
        }
        
        public virtual void GoForward() {
            if ((this.ocx == null)) {
                throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("GoForward", System.Windows.Forms.AxHost.ActiveXInvokeKind.MethodInvoke);
            }
            this.ocx.GoForward();
        }
        
        public virtual void GoBack() {
            if ((this.ocx == null)) {
                throw new System.Windows.Forms.AxHost.InvalidActiveXStateException("GoBack", System.Windows.Forms.AxHost.ActiveXInvokeKind.MethodInvoke);
            }
            this.ocx.GoBack();
        }
        
        protected override void CreateSink() {
            try {
                this.eventMulticaster = new AxWebBrowserEventMulticaster(this);
                this.cookie = new System.Windows.Forms.AxHost.ConnectionPointCookie(this.ocx, this.eventMulticaster, typeof(SHDocVw.DWebBrowserEvents2));
            }
            catch (System.Exception ) {
            }
        }
        
        protected override void DetachSink() {
            try {
                this.cookie.Disconnect();
            }
            catch (System.Exception ) {
            }
        }
        
        protected override void AttachInterfaces() {
            try {
                this.ocx = ((SHDocVw.IWebBrowser2)(this.GetOcx()));
            }
            catch (System.Exception ) {
            }
        }
        
        internal void RaiseOnPrivacyImpactedStateChange(object sender, DWebBrowserEvents2_PrivacyImpactedStateChangeEvent e) {
            if ((this.PrivacyImpactedStateChange != null)) {
                this.PrivacyImpactedStateChange(sender, e);
            }
        }
        
        internal void RaiseOnUpdatePageStatus(object sender, DWebBrowserEvents2_UpdatePageStatusEvent e) {
            if ((this.UpdatePageStatus != null)) {
                this.UpdatePageStatus(sender, e);
            }
        }
        
        internal void RaiseOnPrintTemplateTeardown(object sender, DWebBrowserEvents2_PrintTemplateTeardownEvent e) {
            if ((this.PrintTemplateTeardown != null)) {
                this.PrintTemplateTeardown(sender, e);
            }
        }
        
        internal void RaiseOnPrintTemplateInstantiation(object sender, DWebBrowserEvents2_PrintTemplateInstantiationEvent e) {
            if ((this.PrintTemplateInstantiation != null)) {
                this.PrintTemplateInstantiation(sender, e);
            }
        }
        
        internal void RaiseOnNavigateError(object sender, DWebBrowserEvents2_NavigateErrorEvent e) {
            if ((this.NavigateError != null)) {
                this.NavigateError(sender, e);
            }
        }
        
        internal void RaiseOnFileDownload(object sender, DWebBrowserEvents2_FileDownloadEvent e) {
            if ((this.FileDownload != null)) {
                this.FileDownload(sender, e);
            }
        }
        
        internal void RaiseOnSetSecureLockIcon(object sender, DWebBrowserEvents2_SetSecureLockIconEvent e) {
            if ((this.SetSecureLockIcon != null)) {
                this.SetSecureLockIcon(sender, e);
            }
        }
        
        internal void RaiseOnClientToHostWindow(object sender, DWebBrowserEvents2_ClientToHostWindowEvent e) {
            if ((this.ClientToHostWindow != null)) {
                this.ClientToHostWindow(sender, e);
            }
        }
        
        internal void RaiseOnWindowClosing(object sender, DWebBrowserEvents2_WindowClosingEvent e) {
            if ((this.WindowClosing != null)) {
                this.WindowClosing(sender, e);
            }
        }
        
        internal void RaiseOnWindowSetHeight(object sender, DWebBrowserEvents2_WindowSetHeightEvent e) {
            if ((this.WindowSetHeight != null)) {
                this.WindowSetHeight(sender, e);
            }
        }
        
        internal void RaiseOnWindowSetWidth(object sender, DWebBrowserEvents2_WindowSetWidthEvent e) {
            if ((this.WindowSetWidth != null)) {
                this.WindowSetWidth(sender, e);
            }
        }
        
        internal void RaiseOnWindowSetTop(object sender, DWebBrowserEvents2_WindowSetTopEvent e) {
            if ((this.WindowSetTop != null)) {
                this.WindowSetTop(sender, e);
            }
        }
        
        internal void RaiseOnWindowSetLeft(object sender, DWebBrowserEvents2_WindowSetLeftEvent e) {
            if ((this.WindowSetLeft != null)) {
                this.WindowSetLeft(sender, e);
            }
        }
        
        internal void RaiseOnWindowSetResizable(object sender, DWebBrowserEvents2_WindowSetResizableEvent e) {
            if ((this.WindowSetResizable != null)) {
                this.WindowSetResizable(sender, e);
            }
        }
        
        internal void RaiseOnOnTheaterMode(object sender, DWebBrowserEvents2_OnTheaterModeEvent e) {
            if ((this.OnTheaterMode != null)) {
                this.OnTheaterMode(sender, e);
            }
        }
        
        internal void RaiseOnOnFullScreen(object sender, DWebBrowserEvents2_OnFullScreenEvent e) {
            if ((this.OnFullScreen != null)) {
                this.OnFullScreen(sender, e);
            }
        }
        
        internal void RaiseOnOnStatusBar(object sender, DWebBrowserEvents2_OnStatusBarEvent e) {
            if ((this.OnStatusBar != null)) {
                this.OnStatusBar(sender, e);
            }
        }
        
        internal void RaiseOnOnMenuBar(object sender, DWebBrowserEvents2_OnMenuBarEvent e) {
            if ((this.OnMenuBar != null)) {
                this.OnMenuBar(sender, e);
            }
        }
        
        internal void RaiseOnOnToolBar(object sender, DWebBrowserEvents2_OnToolBarEvent e) {
            if ((this.OnToolBar != null)) {
                this.OnToolBar(sender, e);
            }
        }
        
        internal void RaiseOnOnVisible(object sender, DWebBrowserEvents2_OnVisibleEvent e) {
            if ((this.OnVisible != null)) {
                this.OnVisible(sender, e);
            }
        }
        
        internal void RaiseOnOnQuit(object sender, System.EventArgs e) {
            if ((this.OnQuit != null)) {
                this.OnQuit(sender, e);
            }
        }
        
        internal void RaiseOnDocumentComplete(object sender, DWebBrowserEvents2_DocumentCompleteEvent e) {
            if ((this.DocumentComplete != null)) {
                this.DocumentComplete(sender, e);
            }
        }
        
        internal void RaiseOnNavigateComplete2(object sender, DWebBrowserEvents2_NavigateComplete2Event e) {
            if ((this.NavigateComplete2 != null)) {
                this.NavigateComplete2(sender, e);
            }
        }
        
        internal void RaiseOnNewWindow2(object sender, DWebBrowserEvents2_NewWindow2Event e) {
            if ((this.NewWindow2 != null)) {
                this.NewWindow2(sender, e);
            }
        }
        
        internal void RaiseOnBeforeNavigate2(object sender, DWebBrowserEvents2_BeforeNavigate2Event e) {
            if ((this.BeforeNavigate2 != null)) {
                this.BeforeNavigate2(sender, e);
            }
        }
        
        internal void RaiseOnPropertyChange(object sender, DWebBrowserEvents2_PropertyChangeEvent e) {
            if ((this.PropertyChange != null)) {
                this.PropertyChange(sender, e);
            }
        }
        
        internal void RaiseOnTitleChange(object sender, DWebBrowserEvents2_TitleChangeEvent e) {
            if ((this.TitleChange != null)) {
                this.TitleChange(sender, e);
            }
        }
        
        internal void RaiseOnDownloadComplete(object sender, System.EventArgs e) {
            if ((this.DownloadComplete != null)) {
                this.DownloadComplete(sender, e);
            }
        }
        
        internal void RaiseOnDownloadBegin(object sender, System.EventArgs e) {
            if ((this.DownloadBegin != null)) {
                this.DownloadBegin(sender, e);
            }
        }
        
        internal void RaiseOnCommandStateChange(object sender, DWebBrowserEvents2_CommandStateChangeEvent e) {
            if ((this.CommandStateChange != null)) {
                this.CommandStateChange(sender, e);
            }
        }
        
        internal void RaiseOnProgressChange(object sender, DWebBrowserEvents2_ProgressChangeEvent e) {
            if ((this.ProgressChange != null)) {
                this.ProgressChange(sender, e);
            }
        }
        
        internal void RaiseOnStatusTextChange(object sender, DWebBrowserEvents2_StatusTextChangeEvent e) {
            if ((this.StatusTextChange != null)) {
                this.StatusTextChange(sender, e);
            }
        }
    }
    
    public delegate void DWebBrowserEvents2_PrivacyImpactedStateChangeEventHandler(object sender, DWebBrowserEvents2_PrivacyImpactedStateChangeEvent e);
    
    public class DWebBrowserEvents2_PrivacyImpactedStateChangeEvent {
        
        public bool bImpacted;
        
        public DWebBrowserEvents2_PrivacyImpactedStateChangeEvent(bool bImpacted) {
            this.bImpacted = bImpacted;
        }
    }
    
    public delegate void DWebBrowserEvents2_UpdatePageStatusEventHandler(object sender, DWebBrowserEvents2_UpdatePageStatusEvent e);
    
    public class DWebBrowserEvents2_UpdatePageStatusEvent {
        
        public object pDisp;
        
        public object nPage;
        
        public object fDone;
        
        public DWebBrowserEvents2_UpdatePageStatusEvent(object pDisp, object nPage, object fDone) {
            this.pDisp = pDisp;
            this.nPage = nPage;
            this.fDone = fDone;
        }
    }
    
    public delegate void DWebBrowserEvents2_PrintTemplateTeardownEventHandler(object sender, DWebBrowserEvents2_PrintTemplateTeardownEvent e);
    
    public class DWebBrowserEvents2_PrintTemplateTeardownEvent {
        
        public object pDisp;
        
        public DWebBrowserEvents2_PrintTemplateTeardownEvent(object pDisp) {
            this.pDisp = pDisp;
        }
    }
    
    public delegate void DWebBrowserEvents2_PrintTemplateInstantiationEventHandler(object sender, DWebBrowserEvents2_PrintTemplateInstantiationEvent e);
    
    public class DWebBrowserEvents2_PrintTemplateInstantiationEvent {
        
        public object pDisp;
        
        public DWebBrowserEvents2_PrintTemplateInstantiationEvent(object pDisp) {
            this.pDisp = pDisp;
        }
    }
    
    public delegate void DWebBrowserEvents2_NavigateErrorEventHandler(object sender, DWebBrowserEvents2_NavigateErrorEvent e);
    
    public class DWebBrowserEvents2_NavigateErrorEvent {
        
        public object pDisp;
        
        public object uRL;
        
        public object frame;
        
        public object statusCode;
        
        public bool cancel;
        
        public DWebBrowserEvents2_NavigateErrorEvent(object pDisp, object uRL, object frame, object statusCode, bool cancel) {
            this.pDisp = pDisp;
            this.uRL = uRL;
            this.frame = frame;
            this.statusCode = statusCode;
            this.cancel = cancel;
        }
    }
    
    public delegate void DWebBrowserEvents2_FileDownloadEventHandler(object sender, DWebBrowserEvents2_FileDownloadEvent e);
    
    public class DWebBrowserEvents2_FileDownloadEvent {
        
        public bool cancel;
        
        public DWebBrowserEvents2_FileDownloadEvent(bool cancel) {
            this.cancel = cancel;
        }
    }
    
    public delegate void DWebBrowserEvents2_SetSecureLockIconEventHandler(object sender, DWebBrowserEvents2_SetSecureLockIconEvent e);
    
    public class DWebBrowserEvents2_SetSecureLockIconEvent {
        
        public int secureLockIcon;
        
        public DWebBrowserEvents2_SetSecureLockIconEvent(int secureLockIcon) {
            this.secureLockIcon = secureLockIcon;
        }
    }
    
    public delegate void DWebBrowserEvents2_ClientToHostWindowEventHandler(object sender, DWebBrowserEvents2_ClientToHostWindowEvent e);
    
    public class DWebBrowserEvents2_ClientToHostWindowEvent {
        
        public int cX;
        
        public int cY;
        
        public DWebBrowserEvents2_ClientToHostWindowEvent(int cX, int cY) {
            this.cX = cX;
            this.cY = cY;
        }
    }
    
    public delegate void DWebBrowserEvents2_WindowClosingEventHandler(object sender, DWebBrowserEvents2_WindowClosingEvent e);
    
    public class DWebBrowserEvents2_WindowClosingEvent {
        
        public bool isChildWindow;
        
        public bool cancel;
        
        public DWebBrowserEvents2_WindowClosingEvent(bool isChildWindow, bool cancel) {
            this.isChildWindow = isChildWindow;
            this.cancel = cancel;
        }
    }
    
    public delegate void DWebBrowserEvents2_WindowSetHeightEventHandler(object sender, DWebBrowserEvents2_WindowSetHeightEvent e);
    
    public class DWebBrowserEvents2_WindowSetHeightEvent {
        
        public int height;
        
        public DWebBrowserEvents2_WindowSetHeightEvent(int height) {
            this.height = height;
        }
    }
    
    public delegate void DWebBrowserEvents2_WindowSetWidthEventHandler(object sender, DWebBrowserEvents2_WindowSetWidthEvent e);
    
    public class DWebBrowserEvents2_WindowSetWidthEvent {
        
        public int width;
        
        public DWebBrowserEvents2_WindowSetWidthEvent(int width) {
            this.width = width;
        }
    }
    
    public delegate void DWebBrowserEvents2_WindowSetTopEventHandler(object sender, DWebBrowserEvents2_WindowSetTopEvent e);
    
    public class DWebBrowserEvents2_WindowSetTopEvent {
        
        public int top;
        
        public DWebBrowserEvents2_WindowSetTopEvent(int top) {
            this.top = top;
        }
    }
    
    public delegate void DWebBrowserEvents2_WindowSetLeftEventHandler(object sender, DWebBrowserEvents2_WindowSetLeftEvent e);
    
    public class DWebBrowserEvents2_WindowSetLeftEvent {
        
        public int left;
        
        public DWebBrowserEvents2_WindowSetLeftEvent(int left) {
            this.left = left;
        }
    }
    
    public delegate void DWebBrowserEvents2_WindowSetResizableEventHandler(object sender, DWebBrowserEvents2_WindowSetResizableEvent e);
    
    public class DWebBrowserEvents2_WindowSetResizableEvent {
        
        public bool resizable;
        
        public DWebBrowserEvents2_WindowSetResizableEvent(bool resizable) {
            this.resizable = resizable;
        }
    }
    
    public delegate void DWebBrowserEvents2_OnTheaterModeEventHandler(object sender, DWebBrowserEvents2_OnTheaterModeEvent e);
    
    public class DWebBrowserEvents2_OnTheaterModeEvent {
        
        public bool theaterMode;
        
        public DWebBrowserEvents2_OnTheaterModeEvent(bool theaterMode) {
            this.theaterMode = theaterMode;
        }
    }
    
    public delegate void DWebBrowserEvents2_OnFullScreenEventHandler(object sender, DWebBrowserEvents2_OnFullScreenEvent e);
    
    public class DWebBrowserEvents2_OnFullScreenEvent {
        
        public bool fullScreen;
        
        public DWebBrowserEvents2_OnFullScreenEvent(bool fullScreen) {
            this.fullScreen = fullScreen;
        }
    }
    
    public delegate void DWebBrowserEvents2_OnStatusBarEventHandler(object sender, DWebBrowserEvents2_OnStatusBarEvent e);
    
    public class DWebBrowserEvents2_OnStatusBarEvent {
        
        public bool statusBar;
        
        public DWebBrowserEvents2_OnStatusBarEvent(bool statusBar) {
            this.statusBar = statusBar;
        }
    }
    
    public delegate void DWebBrowserEvents2_OnMenuBarEventHandler(object sender, DWebBrowserEvents2_OnMenuBarEvent e);
    
    public class DWebBrowserEvents2_OnMenuBarEvent {
        
        public bool menuBar;
        
        public DWebBrowserEvents2_OnMenuBarEvent(bool menuBar) {
            this.menuBar = menuBar;
        }
    }
    
    public delegate void DWebBrowserEvents2_OnToolBarEventHandler(object sender, DWebBrowserEvents2_OnToolBarEvent e);
    
    public class DWebBrowserEvents2_OnToolBarEvent {
        
        public bool toolBar;
        
        public DWebBrowserEvents2_OnToolBarEvent(bool toolBar) {
            this.toolBar = toolBar;
        }
    }
    
    public delegate void DWebBrowserEvents2_OnVisibleEventHandler(object sender, DWebBrowserEvents2_OnVisibleEvent e);
    
    public class DWebBrowserEvents2_OnVisibleEvent {
        
        public bool visible;
        
        public DWebBrowserEvents2_OnVisibleEvent(bool visible) {
            this.visible = visible;
        }
    }
    
    public delegate void DWebBrowserEvents2_DocumentCompleteEventHandler(object sender, DWebBrowserEvents2_DocumentCompleteEvent e);
    
    public class DWebBrowserEvents2_DocumentCompleteEvent {
        
        public object pDisp;
        
        public object uRL;
        
        public DWebBrowserEvents2_DocumentCompleteEvent(object pDisp, object uRL) {
            this.pDisp = pDisp;
            this.uRL = uRL;
        }
    }
    
    public delegate void DWebBrowserEvents2_NavigateComplete2EventHandler(object sender, DWebBrowserEvents2_NavigateComplete2Event e);
    
    public class DWebBrowserEvents2_NavigateComplete2Event {
        
        public object pDisp;
        
        public object uRL;
        
        public DWebBrowserEvents2_NavigateComplete2Event(object pDisp, object uRL) {
            this.pDisp = pDisp;
            this.uRL = uRL;
        }
    }
    
    public delegate void DWebBrowserEvents2_NewWindow2EventHandler(object sender, DWebBrowserEvents2_NewWindow2Event e);
    
    public class DWebBrowserEvents2_NewWindow2Event {
        
        public object ppDisp;
        
        public bool cancel;
        
        public DWebBrowserEvents2_NewWindow2Event(object ppDisp, bool cancel) {
            this.ppDisp = ppDisp;
            this.cancel = cancel;
        }
    }
    
    public delegate void DWebBrowserEvents2_BeforeNavigate2EventHandler(object sender, DWebBrowserEvents2_BeforeNavigate2Event e);
    
    public class DWebBrowserEvents2_BeforeNavigate2Event {
        
        public object pDisp;
        
        public object uRL;
        
        public object flags;
        
        public object targetFrameName;
        
        public object postData;
        
        public object headers;
        
        public bool cancel;
        
        public DWebBrowserEvents2_BeforeNavigate2Event(object pDisp, object uRL, object flags, object targetFrameName, object postData, object headers, bool cancel) {
            this.pDisp = pDisp;
            this.uRL = uRL;
            this.flags = flags;
            this.targetFrameName = targetFrameName;
            this.postData = postData;
            this.headers = headers;
            this.cancel = cancel;
        }
    }
    
    public delegate void DWebBrowserEvents2_PropertyChangeEventHandler(object sender, DWebBrowserEvents2_PropertyChangeEvent e);
    
    public class DWebBrowserEvents2_PropertyChangeEvent {
        
        public string szProperty;
        
        public DWebBrowserEvents2_PropertyChangeEvent(string szProperty) {
            this.szProperty = szProperty;
        }
    }
    
    public delegate void DWebBrowserEvents2_TitleChangeEventHandler(object sender, DWebBrowserEvents2_TitleChangeEvent e);
    
    public class DWebBrowserEvents2_TitleChangeEvent {
        
        public string text;
        
        public DWebBrowserEvents2_TitleChangeEvent(string text) {
            this.text = text;
        }
    }
    
    public delegate void DWebBrowserEvents2_CommandStateChangeEventHandler(object sender, DWebBrowserEvents2_CommandStateChangeEvent e);
    
    public class DWebBrowserEvents2_CommandStateChangeEvent {
        
        public int command;
        
        public bool enable;
        
        public DWebBrowserEvents2_CommandStateChangeEvent(int command, bool enable) {
            this.command = command;
            this.enable = enable;
        }
    }
    
    public delegate void DWebBrowserEvents2_ProgressChangeEventHandler(object sender, DWebBrowserEvents2_ProgressChangeEvent e);
    
    public class DWebBrowserEvents2_ProgressChangeEvent {
        
        public int progress;
        
        public int progressMax;
        
        public DWebBrowserEvents2_ProgressChangeEvent(int progress, int progressMax) {
            this.progress = progress;
            this.progressMax = progressMax;
        }
    }
    
    public delegate void DWebBrowserEvents2_StatusTextChangeEventHandler(object sender, DWebBrowserEvents2_StatusTextChangeEvent e);
    
    public class DWebBrowserEvents2_StatusTextChangeEvent {
        
        public string text;
        
        public DWebBrowserEvents2_StatusTextChangeEvent(string text) {
            this.text = text;
        }
    }
    
    public class AxWebBrowserEventMulticaster : SHDocVw.DWebBrowserEvents2 {
        
        private AxWebBrowser parent;
        
        public AxWebBrowserEventMulticaster(AxWebBrowser parent) {
            this.parent = parent;
        }
        
        public virtual void PrivacyImpactedStateChange(bool bImpacted) {
            DWebBrowserEvents2_PrivacyImpactedStateChangeEvent privacyimpactedstatechangeEvent = new DWebBrowserEvents2_PrivacyImpactedStateChangeEvent(bImpacted);
            this.parent.RaiseOnPrivacyImpactedStateChange(this.parent, privacyimpactedstatechangeEvent);
        }
        
        public virtual void UpdatePageStatus(object pDisp, ref object nPage, ref object fDone) {
            DWebBrowserEvents2_UpdatePageStatusEvent updatepagestatusEvent = new DWebBrowserEvents2_UpdatePageStatusEvent(pDisp, nPage, fDone);
            this.parent.RaiseOnUpdatePageStatus(this.parent, updatepagestatusEvent);
            nPage = updatepagestatusEvent.nPage;
            fDone = updatepagestatusEvent.fDone;
        }
        
        public virtual void PrintTemplateTeardown(object pDisp) {
            DWebBrowserEvents2_PrintTemplateTeardownEvent printtemplateteardownEvent = new DWebBrowserEvents2_PrintTemplateTeardownEvent(pDisp);
            this.parent.RaiseOnPrintTemplateTeardown(this.parent, printtemplateteardownEvent);
        }
        
        public virtual void PrintTemplateInstantiation(object pDisp) {
            DWebBrowserEvents2_PrintTemplateInstantiationEvent printtemplateinstantiationEvent = new DWebBrowserEvents2_PrintTemplateInstantiationEvent(pDisp);
            this.parent.RaiseOnPrintTemplateInstantiation(this.parent, printtemplateinstantiationEvent);
        }
        
        public virtual void NavigateError(object pDisp, ref object uRL, ref object frame, ref object statusCode, ref bool cancel) {
            DWebBrowserEvents2_NavigateErrorEvent navigateerrorEvent = new DWebBrowserEvents2_NavigateErrorEvent(pDisp, uRL, frame, statusCode, cancel);
            this.parent.RaiseOnNavigateError(this.parent, navigateerrorEvent);
            uRL = navigateerrorEvent.uRL;
            frame = navigateerrorEvent.frame;
            statusCode = navigateerrorEvent.statusCode;
            cancel = navigateerrorEvent.cancel;
        }
        
        public virtual void FileDownload(ref bool cancel) {
            DWebBrowserEvents2_FileDownloadEvent filedownloadEvent = new DWebBrowserEvents2_FileDownloadEvent(cancel);
            this.parent.RaiseOnFileDownload(this.parent, filedownloadEvent);
            cancel = filedownloadEvent.cancel;
        }
        
        public virtual void SetSecureLockIcon(int secureLockIcon) {
            DWebBrowserEvents2_SetSecureLockIconEvent setsecurelockiconEvent = new DWebBrowserEvents2_SetSecureLockIconEvent(secureLockIcon);
            this.parent.RaiseOnSetSecureLockIcon(this.parent, setsecurelockiconEvent);
        }
        
        public virtual void ClientToHostWindow(ref int cX, ref int cY) {
            DWebBrowserEvents2_ClientToHostWindowEvent clienttohostwindowEvent = new DWebBrowserEvents2_ClientToHostWindowEvent(cX, cY);
            this.parent.RaiseOnClientToHostWindow(this.parent, clienttohostwindowEvent);
            cX = clienttohostwindowEvent.cX;
            cY = clienttohostwindowEvent.cY;
        }
        
        public virtual void WindowClosing(bool isChildWindow, ref bool cancel) {
            DWebBrowserEvents2_WindowClosingEvent windowclosingEvent = new DWebBrowserEvents2_WindowClosingEvent(isChildWindow, cancel);
            this.parent.RaiseOnWindowClosing(this.parent, windowclosingEvent);
            cancel = windowclosingEvent.cancel;
        }
        
        public virtual void WindowSetHeight(int height) {
            DWebBrowserEvents2_WindowSetHeightEvent windowsetheightEvent = new DWebBrowserEvents2_WindowSetHeightEvent(height);
            this.parent.RaiseOnWindowSetHeight(this.parent, windowsetheightEvent);
        }
        
        public virtual void WindowSetWidth(int width) {
            DWebBrowserEvents2_WindowSetWidthEvent windowsetwidthEvent = new DWebBrowserEvents2_WindowSetWidthEvent(width);
            this.parent.RaiseOnWindowSetWidth(this.parent, windowsetwidthEvent);
        }
        
        public virtual void WindowSetTop(int top) {
            DWebBrowserEvents2_WindowSetTopEvent windowsettopEvent = new DWebBrowserEvents2_WindowSetTopEvent(top);
            this.parent.RaiseOnWindowSetTop(this.parent, windowsettopEvent);
        }
        
        public virtual void WindowSetLeft(int left) {
            DWebBrowserEvents2_WindowSetLeftEvent windowsetleftEvent = new DWebBrowserEvents2_WindowSetLeftEvent(left);
            this.parent.RaiseOnWindowSetLeft(this.parent, windowsetleftEvent);
        }
        
        public virtual void WindowSetResizable(bool resizable) {
            DWebBrowserEvents2_WindowSetResizableEvent windowsetresizableEvent = new DWebBrowserEvents2_WindowSetResizableEvent(resizable);
            this.parent.RaiseOnWindowSetResizable(this.parent, windowsetresizableEvent);
        }
        
        public virtual void OnTheaterMode(bool theaterMode) {
            DWebBrowserEvents2_OnTheaterModeEvent ontheatermodeEvent = new DWebBrowserEvents2_OnTheaterModeEvent(theaterMode);
            this.parent.RaiseOnOnTheaterMode(this.parent, ontheatermodeEvent);
        }
        
        public virtual void OnFullScreen(bool fullScreen) {
            DWebBrowserEvents2_OnFullScreenEvent onfullscreenEvent = new DWebBrowserEvents2_OnFullScreenEvent(fullScreen);
            this.parent.RaiseOnOnFullScreen(this.parent, onfullscreenEvent);
        }
        
        public virtual void OnStatusBar(bool statusBar) {
            DWebBrowserEvents2_OnStatusBarEvent onstatusbarEvent = new DWebBrowserEvents2_OnStatusBarEvent(statusBar);
            this.parent.RaiseOnOnStatusBar(this.parent, onstatusbarEvent);
        }
        
        public virtual void OnMenuBar(bool menuBar) {
            DWebBrowserEvents2_OnMenuBarEvent onmenubarEvent = new DWebBrowserEvents2_OnMenuBarEvent(menuBar);
            this.parent.RaiseOnOnMenuBar(this.parent, onmenubarEvent);
        }
        
        public virtual void OnToolBar(bool toolBar) {
            DWebBrowserEvents2_OnToolBarEvent ontoolbarEvent = new DWebBrowserEvents2_OnToolBarEvent(toolBar);
            this.parent.RaiseOnOnToolBar(this.parent, ontoolbarEvent);
        }
        
        public virtual void OnVisible(bool visible) {
            DWebBrowserEvents2_OnVisibleEvent onvisibleEvent = new DWebBrowserEvents2_OnVisibleEvent(visible);
            this.parent.RaiseOnOnVisible(this.parent, onvisibleEvent);
        }
        
        public virtual void OnQuit() {
            System.EventArgs onquitEvent = new System.EventArgs();
            this.parent.RaiseOnOnQuit(this.parent, onquitEvent);
        }
        
        public virtual void DocumentComplete(object pDisp, ref object uRL) {
            DWebBrowserEvents2_DocumentCompleteEvent documentcompleteEvent = new DWebBrowserEvents2_DocumentCompleteEvent(pDisp, uRL);
            this.parent.RaiseOnDocumentComplete(this.parent, documentcompleteEvent);
            uRL = documentcompleteEvent.uRL;
        }
        
        public virtual void NavigateComplete2(object pDisp, ref object uRL) {
            DWebBrowserEvents2_NavigateComplete2Event navigatecomplete2Event = new DWebBrowserEvents2_NavigateComplete2Event(pDisp, uRL);
            this.parent.RaiseOnNavigateComplete2(this.parent, navigatecomplete2Event);
            uRL = navigatecomplete2Event.uRL;
        }
        
        public virtual void NewWindow2(ref object ppDisp, ref bool cancel) {
            DWebBrowserEvents2_NewWindow2Event newwindow2Event = new DWebBrowserEvents2_NewWindow2Event(ppDisp, cancel);
            this.parent.RaiseOnNewWindow2(this.parent, newwindow2Event);
            ppDisp = newwindow2Event.ppDisp;
            cancel = newwindow2Event.cancel;
        }
        
        public virtual void BeforeNavigate2(object pDisp, ref object uRL, ref object flags, ref object targetFrameName, ref object postData, ref object headers, ref bool cancel) {
            DWebBrowserEvents2_BeforeNavigate2Event beforenavigate2Event = new DWebBrowserEvents2_BeforeNavigate2Event(pDisp, uRL, flags, targetFrameName, postData, headers, cancel);
            this.parent.RaiseOnBeforeNavigate2(this.parent, beforenavigate2Event);
            uRL = beforenavigate2Event.uRL;
            flags = beforenavigate2Event.flags;
            targetFrameName = beforenavigate2Event.targetFrameName;
            postData = beforenavigate2Event.postData;
            headers = beforenavigate2Event.headers;
            cancel = beforenavigate2Event.cancel;
        }
        
        public virtual void PropertyChange(string szProperty) {
            DWebBrowserEvents2_PropertyChangeEvent propertychangeEvent = new DWebBrowserEvents2_PropertyChangeEvent(szProperty);
            this.parent.RaiseOnPropertyChange(this.parent, propertychangeEvent);
        }
        
        public virtual void TitleChange(string text) {
            DWebBrowserEvents2_TitleChangeEvent titlechangeEvent = new DWebBrowserEvents2_TitleChangeEvent(text);
            this.parent.RaiseOnTitleChange(this.parent, titlechangeEvent);
        }
        
        public virtual void DownloadComplete() {
            System.EventArgs downloadcompleteEvent = new System.EventArgs();
            this.parent.RaiseOnDownloadComplete(this.parent, downloadcompleteEvent);
        }
        
        public virtual void DownloadBegin() {
            System.EventArgs downloadbeginEvent = new System.EventArgs();
            this.parent.RaiseOnDownloadBegin(this.parent, downloadbeginEvent);
        }
        
        public virtual void CommandStateChange(int command, bool enable) {
            DWebBrowserEvents2_CommandStateChangeEvent commandstatechangeEvent = new DWebBrowserEvents2_CommandStateChangeEvent(command, enable);
            this.parent.RaiseOnCommandStateChange(this.parent, commandstatechangeEvent);
        }
        
        public virtual void ProgressChange(int progress, int progressMax) {
            DWebBrowserEvents2_ProgressChangeEvent progresschangeEvent = new DWebBrowserEvents2_ProgressChangeEvent(progress, progressMax);
            this.parent.RaiseOnProgressChange(this.parent, progresschangeEvent);
        }
        
        public virtual void StatusTextChange(string text) {
            DWebBrowserEvents2_StatusTextChangeEvent statustextchangeEvent = new DWebBrowserEvents2_StatusTextChangeEvent(text);
            this.parent.RaiseOnStatusTextChange(this.parent, statustextchangeEvent);
        }
    }
}
