VSTO / Word: Как заморозить окно документа? - PullRequest
1 голос
/ 11 марта 2011

В надстройке уровня приложения VSTO есть способ заморозить окно документа Word, чтобы пользователь не видел изменения в автоматизации Word, когда они вносятся? Мы хотели бы сделать что-то похожее на методы BeginUpdate () и EndUpdate () WinForms TreeView. Я не уверен, почему Word не предлагает что-то подобное. Может быть, MS не хочет, чтобы разработчики могли случайно «повесить» окно.

Кстати, мы понимаем, что программирование на XML, а не с использованием автоматизации Word, во многих отношениях «лучше», но в этом конкретном случае нам необходимо приостановить обновление окна. Мы пытаемся прокрутить две области двух отдельных документов, чтобы они правильно выстроились. Для этого требуется прокрутить до верхней части документа, а затем прокрутить диапазон в поле зрения. Суть в том, что пользователь видит небольшой «прыжок», пока окно прокручивается. Без этого выглядел бы более профессионально!

Ответы [ 2 ]

4 голосов
/ 30 августа 2011

То же самое в c #:

try
{
    Globals.ThisAddIn.Application.ScreenUpdating = false;
    ...
}
...
finally
{
    Globals.ThisAddIn.Application.ScreenUpdating = true;
}
2 голосов
/ 11 марта 2011

Абсолютно. Вот немного VBA, но вы поняли.

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