【发布时间】:2014-10-31 10:21:12
【问题描述】:
我不明白,为什么对任何 HtmlElement 的更改都不会更改 webBrowsers 的显示。
这是我的代码:
private void webBrowser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
if (webBrowser.ReadyState != WebBrowserReadyState.Complete)
return;
if (e.Url.AbsolutePath != (sender as WebBrowser).Url.AbsolutePath)
return;
HtmlElementCollection elemCol = webBrowser.Document.All;
foreach (HtmlElement elem in webBrowser.Document.All)
{
if (elem.TagName.Equals("SPAN"))
elem.SetAttribute("width", "100"); //style="background: red;"
HtmlElement parentElem = elem.Parent;
}
webBrowser.Update();
webBrowser.Refresh();
}
在调试时,我查看了元素的 OuterHtml - 这如预期的那样发生了变化。 当查看其父元素的 innerHtml 时,它也会发生变化。 甚至 webBrowser.Document 的正文 innerHtml 也会发生变化。 但是它对 Gui 中的 webBrowser 没有影响。查看那里的源代码,您找不到更改。
有什么想法吗?我仍然尝试了 Update() 和 Refresh() 但没有成功。
【问题讨论】:
-
这是什么语言?您应该使用正确的语言标签edit。
-
对不起。我在 WinForms 中使用 C#
标签: c# html setattribute