【发布时间】:2010-11-24 17:41:13
【问题描述】:
我有一个我想要“单击”的列表 Uri 为了实现这一点,我正在尝试为每个 Uri 创建一个新的 Web 浏览器控件。我为每个 Uri 创建一个新线程。我遇到的问题是线程结束在文档完全加载之前,所以我永远无法使用 DocumentComplete 事件。我该如何克服这个问题?
var item = new ParameterizedThreadStart(ClicIt.Click);
var thread = new Thread(item) {Name = "ClickThread"};
thread.Start(uriItem);
public static void Click(object o)
{
var url = ((UriItem)o);
Console.WriteLine(@"Clicking: " + url.Link);
var clicker = new WebBrowser { ScriptErrorsSuppressed = true };
clicker.DocumentCompleted += BrowseComplete;
if (String.IsNullOrEmpty(url.Link)) return;
if (url.Link.Equals("about:blank")) return;
if (!url.Link.StartsWith("http://") && !url.Link.StartsWith("https://"))
url.Link = "http://" + url.Link;
clicker.Navigate(url.Link);
}
【问题讨论】:
标签: c# multithreading browser