2014-02-13 4 views
0

사용자 지정 탭이있는 플러그인 (Excel 2013 VSTO 4.0 .NET 4.0)이 있습니다. 이 탭에는 많은 이미지가로드되는 드롭 다운 컨트롤이 있습니다. 현재 이러한 이미지가 RibbonLoad 이벤트에로드되고 있습니다. 단점은 물론 내 플러그인이로드하는 데 많은 시간이 걸릴 수있어서 플러그인에서 느리게로드되어 Excel에서 내 플러그인을 사용하지 못하게합니다.
누군가 내 탭을 선택하기 전에는 드롭 다운 항목의로드를 지연시킬 수있는 이벤트 나 방식이 있습니까? 다른 사용자가 내 사용자 지정 탭을 클릭했다는 이벤트를 찾을 수 없습니다.Office 리본에서 탭을 선택하는 방법 알아보기

답변

0

이미지를 별도의 메서드에로드하고 별도의 스레드에서 호출하는 메서드를 추출합니다. More on Threading in MSDN

이것은 최상의 솔루션은 아니지만 이미지로드 중에 UI 스레드를 차단하는 이전 버전보다 적어도 더 좋을 수 있습니다. 기본적으로

또는

사용 Delay loading

레지스트리에서 애드 인로드 동작 할 때 응용 프로그램이 시작될 때로드 애드 인 의미 3 할 것이다. 필요할 때만 추가 기능로드를위한로드 동작 8,9,16을 수행 할 수 있습니다. 이 다양한로드 동작을 시도하고 어느 것이 당신을 돕는 지보십시오.

+0

음 UI가 아닌 스레드에서 Excel 개체 모델을 터치 할 수 있습니까? – Rahul

+0

다른 최상의 솔루션으로 내 대답을 편집했습니다. 다른 스레드에서 객체 모델에 액세스 할 수 있어야합니다. Word에서 UI 스레드를 차단하지 않고 WindowSelectionChanged 동안 리본에서 컨트롤을 무효화하는 시나리오가 있습니다. – Kiru