我的程序通过串行连接运行测试。单击RUN TEST按钮后,一切正常。 RUN TEST按钮消失,STOP按钮弹出。数据收集按预期运行。我的问题是STOP按钮没有响应。我的所有测试代码都在RUN TEST按钮单击事件下运行。我的第二个按钮是不可中断的吗?
注意:我使用whateverButton.enable和whateverButton.visible属性。还有另一个我需要设置才能让它工作吗?
runButton.Enabled = false;
runButton.Visible = false;
STOPbutton.Enabled = true;
STOPbutton.Visible = true;
该计划的其余部分将完全包括在内。
对此的任何帮助都将非常感激。
答案 0 :(得分:1)
让我猜一下 - 你禁用“运行”,启用“停止”,执行任务,反转“运行”和“停止”的启用/禁用?
您的问题是UI未更新,因为UI线程正在忙于运行您的任务。
使用BackgroundWorker
或Task.Run
为任务生成新线程,可能需要进行一些重要的重构才能将UI交互从后台线程中移除并支持取消。