private void MainForm_Load(object sender, EventArgs e) { var wb = new ImprovedWebBrowser(); wb.Dock = DockStyle.Fill; this.Controls.Add(wb); wb.Visible = true; wb.DocumentText = "<body contentEditable='true'><b>Hello from ImprovedWebBrowser!</b></body>"; }
// constructor public ImprovedWebBrowserSite(WebBrowser host) : base(host) { _host = (ImprovedWebBrowser)host; // get the CCW object for this _unkOuter = Marshal.GetIUnknownForObject(this); Marshal.AddRef(_unkOuter); try { // aggregate the CCW object with the helper Inner object _inner = new Inner(this); _unkInnerAggregated = Marshal.CreateAggregatedObject(_unkOuter, _inner); // obtain private WebBrowserSite COM interfaces _baseIDocHostUIHandler = (NativeMethods.IDocHostUIHandler)Marshal.GetTypedObjectForIUnknown(_unkInnerAggregated, typeof(NativeMethods.IDocHostUIHandler)); } finally { Marshal.Release(_unkOuter); } }