C# 要想给一个死循环设置循环时间间隔,每5秒循环一次。

要想在botton1的click事件中编写这样一个功能的程序:应用程序运行后,点击按钮后,执行死循环while。循环中的函数CheckIfFtpFileExists()和... 要想在botton1的click事件中编写这样一个功能的程序:应用程序运行后,点击按钮后,执行死循环while。循环中的函数CheckIfFtpFileExists()和 Tsystem()已经在程序在设计好了,现在想设置一个循环间隔,每5秒钟执行一次循环,程序该如何补充呢? 展开
 我来答
匿名用户
2013-05-21
展开全部

.Net 2.0版本代码如下:(3.5或以上可以考虑使用Task)

private Thread thread;
private void button1_Click(object sender, EventArgs e)
{
if (thread != null)
{
thread = new Thread(new ThreadStart(Loop));
thread.Start();
}
else
{
MessageBox.Show("轮检已启动。");
}
}
private void Loop()
{
while (true)
{
if (CheckIfFtpFileExists() == true)
{
Tsystem();
}
}
}
更多追问追答
追问
我尝试了您的代码之后,运行按钮后一直跳出"轮检已启动“消息框。thread如何才不为空。
追答

抱歉写错了,另外忘了加上Thread.Sleep了,修改如下:

private Thread thread;
private void button1_Click(object sender, EventArgs e)
{
if (thread == null)
{
thread = new Thread(new ThreadStart(Loop));
thread.Start();
MessageBox.Show("成功启动轮检。");
}
else
{
MessageBox.Show("启动轮检失败,轮检已开始。");
}
}
private void Loop()
{
while (true)
{
if (CheckIfFtpFileExists() == true)
{
Tsystem();
}
}
Thread.Sleep(5000);
}
灵葬外与他29
2013-05-21 · TA获得超过2183个赞
知道小有建树答主
回答量:1221
采纳率:50%
帮助的人:949万
展开全部
一二楼都可以,如果想在循环的过程中不出现假死的情况推荐用多线程
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
new妞宁
2013-05-21 · TA获得超过1743个赞
知道小有建树答主
回答量:959
采纳率:100%
帮助的人:680万
展开全部
不是有Timer控件嘛 用来控制时间的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
会飞的剑1
2013-05-21 · TA获得超过348个赞
知道答主
回答量:85
采纳率:0%
帮助的人:66.5万
展开全部
在while里面加上 Thread.Sleep(5000);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式