c#用Timer怎么实现延迟,求代码
3个回答
展开全部
我看出来了你要的是timer延迟处理,而不是进程延迟,两为都曲解了意思。
private void form_load()
{
timer1.Enabled=false;
}
void Aguocheng()
{
//查数据库取数据
if(ds.Tables[0].Count>0) //如果查到数据
{
timer1.Interval=100;
timer1.Enabled=true;
}
else
{
//进程中断,查数据初始化异常
}
}
void chushihua()
{
//.....//利用服务器数据初始化程序界面代码
timer1.Enabled=false; //初始化结束还原初始状态
}
public int temp=0;
private void timer1(Object sender,EventHandle e)
{
temp++;
if(temp==10)
{
chushihua(); //当进展到1秒的时候执行初始化界面
}
}
就这样而已
追问
谢谢你了
展开全部
Thread.Sleep()延迟或多线程class Test:
{
public static Int64 i = 0;
public static void Add()
{
for (int i = 0; i < 100000000; i++)
{
Interlocked.Increment(ref Test.i);
}
}
public static void Main(string[] args)
{
Thread t1 = new Thread(new ThreadStart(Test.Add));
Thread t2 = new Thread(new ThreadStart(Test.Add));
t1.Start();
t2.Start();
t1.Join();
t2.Join();
Console.WriteLine(Test.i.ToString());
Console.Read();
}
{
public static Int64 i = 0;
public static void Add()
{
for (int i = 0; i < 100000000; i++)
{
Interlocked.Increment(ref Test.i);
}
}
public static void Main(string[] args)
{
Thread t1 = new Thread(new ThreadStart(Test.Add));
Thread t2 = new Thread(new ThreadStart(Test.Add));
t1.Start();
t2.Start();
t1.Join();
t2.Join();
Console.WriteLine(Test.i.ToString());
Console.Read();
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
为什么不用sleep,说个让人信服的理由!
更多追问追答
追问
我是在易控组态软件里面用的c#,刚试过sleep然后就卡死了,百度到timer,求个程序。我对c#不太了解,如果sleep能不卡死还是可以的
追答
当前你的程序卡死的原因是你上面的代码是运行在ui线程,你新建一个线程,在线程里用sleep就不会卡死。具体怎么新建线程,请百度。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询