Visual Studio宏中是否存在等效的DoEvents?

Ben*_*jol 5 macros visual-studio

我有一个长时间运行的宏,我在其中定期向Output写消息,以便用户知道发生的事情.问题是在宏完成之前输出不会显示(除非你打开"继续等待?"对话框,这很奇怪).

反正有没有'冲洗'事件队列?

Mar*_*urd 0

如果您引用 Windows 窗体,则可以正常访问 Application.DoEvents。

我的主 IDE 响应 Windows 更新并实时关闭,而宏仍在运行,仅

    DTE.SuppressUI = False
    Threading.Thread.Sleep(5000)
Run Code Online (Sandbox Code Playgroud)

因此,当您想确保 UI 更新时,我建议使用标准DoEvents&Sleep(55)循环 250 毫秒左右,这样就可以解决问题,同时使用SuppressUI=False.