我用一段伪代码来表述我的意思:
timer1.Enabled = false;
thread_timer.Start();
timer1.Enabled = true
我的意思就是进入TImer,先禁用TImer,等thread_timer.Start()执行完了,在开启,我的程序基本上也是一直一直运行着的,但是每次都提示错误:线程正在运行或被终止;它无法重新启动。
求高手,如何解决?
C# Forms.Timer 中加入线程操作,等线程执行完了,在开始
答案:2 悬赏:0 手机版
解决时间 2021-02-07 04:54
- 提问者网友:世勋超人
- 2021-02-06 16:19
最佳答案
- 五星知识达人网友:低血压的长颈鹿
- 2021-02-06 17:32
1)在线程函数中处理timer1的启动和停止。
//线程函数
private void MyThreadProc()
{
timer1.Enabled = false;
// 原来的线程处理代码出现在这里……
timer1.Enabled = true;
}2)启动线程时
Thread thread_timer = new Thread(MyThreadProc);
//将线程设置为后台线程。
thread_timer.IsBackground = true;
thread_timer.Start();
//线程函数
private void MyThreadProc()
{
timer1.Enabled = false;
// 原来的线程处理代码出现在这里……
timer1.Enabled = true;
}2)启动线程时
Thread thread_timer = new Thread(MyThreadProc);
//将线程设置为后台线程。
thread_timer.IsBackground = true;
thread_timer.Start();
全部回答
- 1楼网友:廢物販賣機
- 2021-02-06 18:41
你好!
试试 Join()方法
仅代表个人观点,不喜勿喷,谢谢。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯