Как остановить появление компонента MS Graph во время взаимодействия?

При использовании Office Interop в C #, если вы вставляете объект диаграммы в документ MS Word, приложение Grap загружается очень быстро, а затем исчезает. Есть ли способ предотвратить это? Я попытался установить для свойства Visible экземпляра приложения значение false, но это не дало результата.

РЕДАКТИРОВАТЬ: свойство Visible вступает в силу при использовании с Word при взаимодействии, и оно не всплывает. Я ожидал, что есть аналогичный способ сделать это для MS Graph.


person jmcd    schedule 21.08.2008    source источник


Ответы (1)


Это обычное поведение для многих компонентов, размещенных в исполняемом двоичном файле. Хост-приложение запустится, а затем выполнит свою работу. Я не знаю, есть ли надежный способ предотвратить это, поскольку у вас нет контроля ни над компонентом, ни над процессом, пока приложение не будет запущено и не отвечает.

Хак, который я пробовал в прошлом (для чего-то совершенно не связанного с этим), запускал процесс и постоянно определял, были ли созданы его основные окна. Как только он был создан, я его скрывал. Вы можете сделать это с помощью основного модуля неисправного приложения и надеяться, что он будет достаточно быстрым, чтобы скрыть окно до того, как пользователь заметит это. Затем вы создаете экземпляр своего компонента; компонент обычно перезапускает существующий процесс, надеюсь, тот, у которого скрыто главное окно.

Я не могу гарантировать, что это сработает в вашей ситуации, но стоит попробовать, если проблема настолько важна, или, конечно, если вы не найдете лучшего способа.

person Coincoin    schedule 21.08.2008