2010-10-13 71 views
5

我有一個長期運行的宏,我在其中寫週期性消息,以便用戶知道一些事情發生。問題是直到宏完成後輸出纔會顯示(除非您已打開繼續等待?對話框,足夠奇怪)。在Visual Studio宏中是否有等效的DoEvents?

反正有'沖洗'事件隊列嗎?

+0

這是VB,DoEvents不起作用? – 2010-10-13 12:14:13

+0

@Preet,它是VBA(我認爲),無論如何我在intellisense中看不到'Application'對象,但也許我錯過了一些引用? – Benjol 2010-10-13 12:18:14

+0

只需使用DoEvents,它就是VBA中的一個聲明。 – 2013-05-04 02:18:34

回答

0

如果您參考Windows窗體,則可以像常規那樣訪問Application.DoEvents。

我的主要IDE響應Windows更新和關閉實時而宏仍然只有

DTE.SuppressUI = False 
    Threading.Thread.Sleep(5000) 

因此我建議使用一個標準的DoEvents & Sleep(55)循環爲250毫秒左右運行當你想確保UI更新應該做的伎倆,以及SuppressUI=False

+0

好主意,除了......它似乎沒有任何區別:) – Benjol 2011-01-17 05:46:02