我有一个长时间运行的宏,我在其中写周期性消息给Output,以便用户知道发生的事情。问题是在宏完成之前输出不会显示(除非你打开“继续等待?”对话框,这很奇怪)。
是否有'冲洗'事件队列?
答案 0 :(得分:0)
如果您引用Windows窗体,则可以正常访问Application.DoEvents。
我有主IDE响应Windows更新并实时关闭,而宏仍然只运行
DTE.SuppressUI = False
Threading.Thread.Sleep(5000)
因此我建议使用标准DoEvents
&当你想要确保更新UI时,Sleep(55)
循环250毫秒左右,应该与SuppressUI=False
一起完成。