我有一个长期运行的宏,在其中我将定期消息写入输出,以便用户知道正在发生的事情。问题是在宏完成之前不会显示输出(除非您打开继续等待?对话框,奇怪的是)。
无论如何要“刷新”事件队列?
最佳答案
如果您引用 Windows 窗体,则可以正常访问 Application.DoEvents。
我有主 IDE 响应 Windows 更新并在宏仍在运行时实时关闭
DTE.SuppressUI = False
Threading.Thread.Sleep(5000)
因此,我建议使用标准
DoEvents
& Sleep(55)
当您想确保 UI 更新时,循环 250 毫秒左右应该可以解决问题,还有 SuppressUI=False
.
关于visual-studio - Visual Studio 宏中是否有等效的 DoEvents?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3923432/