我的项目在方法中有一个静态Web浏览器。我希望同时运行此方法(包括Web浏览器),而不是结束。 有:
1方法2按钮2文本框
static webbrowser wb;
public static look(string address)
{
wb = new webbrowser;
wb.navigate(address);
}
button1.click()
{
for(int i = 0;i <= converttoint32(textbox1.text);i++)
look(textbox2.text);
}
button2.click()
{
//close the threads.
}
&LT; 我想使用单独的线程来创建新的webbrowser。他们应该继续直到button2.click。
例如。当点击button1方法将创建Web浏览器(从textbox1.text计数),它们将保持连接。单击按钮2时,任务将关闭。
答案 0 :(得分:0)
根据this,您可以尝试。
public static object locker = new object();
public static void InitBrowser(int browser)
{
var thread = new Thread(() =>
{
// Create Browser Here
Monitor.Wait(locker);
});
thread.SetApartmentState(ApartmentState.STA);
thread.Start();
}
button1.click()
{
Monitor.Enter(locker);
for(int i = 0;i <= converttoint32(textbox1.text);i++)
InitBrowser(textbox2.text);
}
button2.click()
{
Monitor.PulseAll(locker);
}
你可以试试这个。这个解决方案没有经过测试,但也许您可以像使用它一样使用它来构建您想要的。