相关疑难解决方法(0)

WebBrowser控件在一个新线程中

我有一个列表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);
}
Run Code Online (Sandbox Code Playgroud)

c# browser multithreading

83
推荐指数
2
解决办法
8万
查看次数

WebBrowser控件导致整个应用程序无响应

我有一个带有嵌入式Web浏览器的C#.NET 3.5应用程序.浏览器旨在指向远程站点(而不是本地的任何东西).一切正常,但当页面响应缓慢时,这会导致整个应用程序无响应,直到页面加载完毕.

我不介意浏览器在做它的事情时没有反应,但是应用程序也远非理想.

有没有好办法防止这种情况发生?在单独的线程上运行WebBrowser是否有益 - 这有点超出我的技能组合,我不认为WebBrowser控件真的喜欢多线程?但如果需要,我可以学习.

c# browser

5
推荐指数
1
解决办法
3428
查看次数

标签 统计

browser ×2

c# ×2

multithreading ×1