|
|
1
13
您可以在自己的线程中运行它,然后中止该线程。只是要小心,这可能会使操作处于不好的状态。 相反,你 应该 创建线程在安全点检查的退出标志。如果标记为退出,线程将在安全的情况下立即停止。 |
|
|
2
13
你可以用 BackgroundWorker 组成部分 它基于事件,非常容易使用。看起来非常适合你所描述的。 它有很好的支持 取消信号 以及 进度报告 也 还有很多可以在谷歌上查找的代码示例。 设定 WorkerSupportsCancellation 所以这是真的。
去做吧 在你开始之前 工人。 然后,在循环中,您可以对 CancellationPending 财产:
只是一个例子,但你应该明白。 |
|
|
3
1
谢谢你的回复。这是一个
我该如何改变这一点?这是继承的代码,抱歉! |
|
|
4
0
正如Mark所说,您需要实现某种合作同步。人们往往倾向于使用线。在这里中止。。。但这是个坏主意。 有许多问题可以解决这个问题,例如: Is there a good method in C# for throwing an exception on a given thread. " |
|
|
5
0
您可以添加一个设置布尔标志的取消按钮 在循环中,在关键点添加“Application.DoEvents”,然后检查布尔标志。如果标志已被触发,则执行清理并退出循环。 |
|
|
6
0
设定
你还得检查一下
编辑:哦,你几秒钟就把我抓住了,查克里特:) |
|
|
A B · C#Excel自动调整列避免长文本时出错 1 年前 |
|
|
Megrez7 · C#ToArray转换合并为一行,导致数组元素更改 1 年前 |
|
Aycon · 在工厂方法中释放部分创建的对象的正确方法是什么? 1 年前 |
|
|
Sei · Avalonia/WPF将路由器传递到控制模板 1 年前 |