菜鸟问题:不用线程,是男人就等10秒!
winfrom程序,不能用线程,因为控件不支持。
让程序等待10秒后继续执行。
我的方法,肯定是行不通啦,timer3_Tick根本不执行。就无限循环在while里了。
C# code
public bool IsTime = true;
private void waitTimes()
{
timer3.Interval = 10000;
timer3.Start();
while (IsTime)
{
}
timer3.Stop();
IsTime = true;
}
private void timer3_Tick(object sender, EventArgs e)
{
IsTime = false;
}
------解决方案--------------------
------解决方案--------------------不知道你想让哪个线程等待,但web控件跨线程操作可以用控件的invoke方法实现。
------解决方案--------------------SpinWait或者TickCount,InterLocked循环锁都可以设计大约10秒后继续; --这个是“纯”浪费CPU时间
ThreadPool.RegisterWaitForSingleObject 也可以设计延时;--这个是等待信号
System.Thread.Timer可以设置延时10s后执行;--只是构造器的设置
WaitHandle也可以 --等待信号量
------解决方案--------------------
把你的while拆了,分成两函数。
在timer里,计时到了,再执行第二个函数
------解决方案--------------------你把打开网页后要执行的内容写在timer3里即可
private void waitTimes()
{
timer3.Interval = 10000;
timer3.Start();
打开几个页面
}
private void timer3_Tick(object sender, EventArgs e)
{
页面打开后要做的事
}