2012-06-28 2 views
0

CustomTaskPane을 닫고 워크 시트를 변경하면 완전히 제거되지 않은 것으로 보입니다. 그리고 CustomTaskPane의 워크 시트 영역이 비활성화됩니다.CustomTaskPane이 완전히 닫히지 않았습니다.

ctp.Visible = false; 

그리고 PaneVisibleChanged event에 :

private void PaneVisibleChanged(object sender, EventArgs e) 
    { 
     CustomTaskPane pane = (CustomTaskPane)sender; 
     if (!pane.Visible) 
     { 
      pane.Control.Dispose(); 
      CustomTaskPanes.Remove(pane); 
     } 
    } 

관측을 : 여기

내가 코드에서 뭐하는 거지 어떻게 내가 옆에 두 개의 CustomTaskPanes 측이 내가 하나를 폐쇄하고 때 발생합니다. 나는 사용자 지정 작업 창 내가 그 문제를 해결하려고 사용하고 VSTO 엑셀 2010의 코드에서 제대로 폐기하지와 유사한 문제에 직면하고있어

+0

"완전히 사라지지 않았다"는 말은 작업 창이 사라 졌음을 의미하지만 Excel에서 렌더링하는 방식이 이상하다고 생각합니다 ("팬텀 "물건), 맞습니까? 그리고 왜 당신은 그 TaskPane을 폐기하려고합니까 - 왜 그렇게하지 못하게합니까? – Mathias

+0

예. 맞습니다. 사용자가 창을 닫을 때 변경된 해당 이벤트를 catch하고 작업을 수행해야합니다. 내 기능 중 하나는 CustomTaskPane이 자동으로 닫히거나 보이지 않아야하므로 처리해야합니다. 그 동안 UI 렌더링 문제를 관찰했습니다. – Cannon

+1

내가 이해하지 못하는 이유는 모든 것을 폐기하는 노력을 기울이는 이유입니다. TaskPane을 보이지 않게하는 것만으로 어떤 문제가 발생합니까? – Mathias

답변

0

은 간단하다 :

var taskbar = Globals.ThisWorkbook.Application.CommandBars["Task Pane"]; 
taskbar.Reset(); 

의 눈에 보이는 이벤트 사이드 패널은 나에게 잘 작동하지 않는 것 같다. 나는 일반적으로 다음과 같이 작업 창을 표시하거나 숨 깁니다.

Globals.ThisWorkbook.Application.CommandBars["Task Pane"].Visible = false; 
+0

아직 문제를 해결할 수 없습니다. – Cannon

관련 문제