我有一个看似简单的问题,但我不知道如何解决它。
我想要做的是执行从工作线程上的UI线程调用的冗长操作,以便UI保持响应 - 但是这仍然必须是顺序的,我想等待操作完成但仍然抽取消息队列,这样UI就不会出现可怕的(Not Responding ...)错误。
如何以优雅的方式,丑陋和恶魔般的方式是产生一个线程并进入DoEvents
循环直到它完成。
答案 0 :(得分:0)
你所要求的是矛盾的。您希望UI执行(响应),但您不希望它执行您的代码(等待操作完成)。
您可以显示一个模态可视元素,阻止用户与您的主界面交互,或者您可以在后台任务完成时禁用所有可视元素(以及相关时导航)。