我在C#(windows.form)中有一个具有现代界面的应用程序。 该应用程序具有几种“形式”。在名为“ FormInicio”的表单(FormInicio.cs [Design])中,我有一个带有文本框和按钮的WebBrowser。
我需要在浏览器中执行textBox的URL并滚动。 但是浏览器中没有线程,应用程序会卡住,直到滚动完成。
当您完成显示第一个URL时,将通过循环为您传递更多的URL。这些URL将在您进入每个URL时获得(对于最后一个,我不需要帮助)。我只需要帮助,以便浏览器处于线程状态。
我试图在新线程上创建浏览器,但未显示。
private void navegador(string urlM)
{
Uri url = new Uri(urlM);
var th = new Thread(() => {
var webBrowser1 = new WebBrowser();
webBrowser1.DocumentCompleted += webBrowser1_DocumentCompleted_1;
if (ClassStatic.permitirJS){
webBrowser1.ScriptErrorsSuppressed = true;
}else{
webBrowser1.ScriptErrorsSuppressed = false;
}
webBrowser1.Navigate(url);
Application.Run();
});
th.SetApartmentState(ApartmentState.STA);
th.Start();
}
private void webBrowser1_DocumentCompleted_1(object sender, WebBrowserDocumentCompletedEventArgs e)
{
var br = sender as WebBrowser;
if (br.Url == e.Url)
{
Console.WriteLine("Natigated to {0}", e.Url);
Application.ExitThread(); // Stops the thread webbrowser
}
}