我有这个庞大的嵌套循环场景,它调用数据库并向Basecamp API发出HTTP请求。起初它是一个网络应用程序,但运行应用程序花了很多时间,因此用户(计费部门)经常会提前退出或抱怨,因为它需要很长时间没有反馈,也没有办法取消它。我想让它更具响应性并给它一个取消按钮以及一个实时日志,我也想让它更具可控性。我把它放在表单中,这样他们可以控制它的每个实例,并有一个取消按钮和一个实时日志。
然而,当我用表单按钮连接它时,多行文本框来替换响应和错误日志,我无法得到任何工作!如果按下取消,我在循环中添加了检查以突破。但是我甚至无法单击取消,当我.Text.Insert然后.Update()时,多行TextBox
将不会更新。整个应用程序只是坐在那里旋转...如何让它响应,在循环过程中接受按钮点击,并实时更新多行TextBox
?
注意:事情编译得很好,我可以逐步完成它并且它写入日志文件就好了所以我可以告诉它在我的表单通过查看该日志文件冻结之后工作。
以下是我尝试使用以下内容更新多行TextBox
的代码:
TimeSyncLog.Text.Insert(TimeSyncLog.Text.Length, "(((" + clientCode + ")))\n");
这是我的循环突破的代码:
if(CancelPressed)
{
TimeSyncLog.Text.Insert(TimeSyncLog.Text.Length,"\n\nSYNC STOPPED BY USER.");
break;
}
但我永远不能点击取消按钮来切换boolean
因为窗口显示'无响应'...