【发布时间】:2013-06-17 15:24:09
【问题描述】:
我有两种形式。 form1 调用在加载期间启动后台运行线程。 一旦它开始运行。 form 2 将弹出有两个按钮(开始和停止)。 当我按下停止按钮时,线程应该暂停,当我按下开始时,暂停线程应该从它停止的地方开始执行。
我尝试使用此代码。
myResetEvent.WaitOne();// to pause the thread
myResetEvent.Set(); // to resume the thread.
因为这些事件是在 form1 中定义的,但我希望它在 form2 中起作用。
【问题讨论】:
-
欢迎来到Stack Overflow,您需要将后台工作人员传递给其他表单并尝试取消,例如:
abortableBackgroundWorker1.CancelAsync(); -
@JeremyThompson 谢谢...你能帮我解决上述问题吗..
-
通过代码转换器将其转换为 C#:stackoverflow.com/questions/13206926/… 然后将代码更改为不隐藏
lblClose_LinkClicked方法中的表单。然后只需重命名 lblClose.Text = "Restart" 并再次启用计时器。 HTH -
你把这搞混了。 WaitOne(0) 调用需要在工作代码中。表单类应该只调用 Set() 或 Reset()。