2011-03-10 121 views
0

在VSTO應用程序級插件,有沒有辦法凍結Word文檔窗口,使用戶不會看到我們的Word自動化的變化,因爲他們正在做?我們想要做的到的WinForms TreeView的的BeginUpdate()和EndUpdate()方法類似的東西。我不確定爲什麼Word不提供這樣的東西。也許MS不想給開發者一個意外「掛斷」窗口的方法。VSTO/Word:如何凍結文檔窗口?

順便說一句,我們認識到,編程到XML,而不是使用Word自動化是在許多方面「更好」,但在這個特定的實例,我們需要暫停窗口的更新。我們試圖將兩個單獨文檔的兩個區域滾動到視圖中,以便它們排列良好。這樣做需要滾動到文檔的頂部,然後將範圍滾動到視圖中。要點是,當窗口滾動時,用戶看到一點「跳躍」。如果沒有這個,看起來更專業!

回答

1

絕對。這裏有一些VBA,但你明白了。

Sub YourSub() 
    Application.ScreenUpdating = False 
    'do your thing 
    Application.ScreenUpdating = True 
End Sub 
+0

完美 - 我沒想到要檢查應用程序對象,看着窗口和文檔...謝謝! – 2011-03-10 22:29:54

2
在C#

同一件事:

try 
{ 
    Globals.ThisAddIn.Application.ScreenUpdating = false; 
    ... 
} 
... 
finally 
{ 
    Globals.ThisAddIn.Application.ScreenUpdating = true; 
}