2010-03-22 68 views
4

我有一个webbbrowser控件,导航到包含图像的页面, ,我想从我的浏览器中隐藏或删除此图像。
我已经试过,没有运气上DocumentCompleted事件来设置下面的方法:
如何隐藏HTML浏览器控件中的HtmlElement

webBrowser1.Document.GetElementById("imgToHide").Style = "display:none"; 

如何隐藏WebBrowser控件一个HTMLElement?

我的编程语言是C#。

下面是我的代码:

private void Form_Load(object sender, EventArgs e) 
    { 
     webBrowser1.ScriptErrorsSuppressed = true; 
     webBrowser1.Navigate(oURL); 
    } 
private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) 
    { 
     //imgCancel is the name of t he image to hide 
     webBrowser1.Document.GetElementById("imgCancel").Style = "display:none"; 
    } 
+1

这应该工作。你能向我们展示页面吗? – SLaks 2010-03-22 13:34:55

+1

可能会尝试 style =“visibility:hidden” – 2010-03-22 13:53:47

回答

1

尝试使包含脚本的HTML文件:

function SetHidden() 
    { 
    window.document.all["hiddenText"].style.display="block"; 
    return "ok"; 
    } 

那个地方后,在C#代码:

Results = (string)WebBrowser1.Document.InvokeScript("SetHidden"); 

MessageBox.Show(Results); 
1

我想我迟到了,但它可能会帮助需要它的人。 可以在运行改变特定图像的outerhtml time.Like是

myDoc = this.webBrowser1.Document; 

myDoc.GetElementById("imgToHide").OuterHtml = "Changed html here!"; 
1

您可以使用runtimeStyle

IHTMLElement2 domElement = element.DomElement as IHTMLElement2; 
domInspectBox.runtimeStyle.visibility ="hidden"; // if you want to hide it 
domInspectBox.runtimeStyle.display = "none"; // if you want to empty its place 
相关问题