It will do it
// On screen webbrowser control webBrowserControl.Navigate("about:blank"); webBrowserControl.Document.Write("<div id=\"div1\">This will change</div>"); var elementToReplace = webBrowserControl.Document.GetElementById("div1"); var nodeToReplace = elementToReplace.DomElement as mshtml.IHTMLDOMNode; // In memory webbrowser control to load fragement into // It needs this base object as it is a COM control var webBrowserFragement = new WebBrowser(); webBrowserFragement.Navigate("about:blank"); webBrowserFragement.Document.Write("<div id=\"div1\">Hello World!</div>"); var elementReplacement = webBrowserFragement.Document.GetElementById("div1"); var nodeReplacement = elementReplacement.DomElement as mshtml.IHTMLDOMNode; // The magic happens here! nodeToReplace.replaceNode(nodeReplacement);
I doubt that this will improve the work, since the text rendering will be fast and the memory consumed will still be the same if you have one large page with a hidden div or several divs in memory in other objects?
source share