2012-06-28 36 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侧和我关闭一个它发生。

+0

当你说“没有完全消失”,我想你指的是任务窗格中消失了,但事情是关闭与Excel呈现方式(“幻象“东西),是吗?你为什么试图处理这个TaskPane - 为什么不让它成为? – Mathias

+0

是的。这是正确的。当用户关闭窗格时,我需要捕获更改的可见性事件并执行任务。我的一个功能需要CustomTaskPane自动关闭/隐藏,所以我需要处理它。虽然这样做,我已经观察到UI渲染问题。 – Cannon

+1

我不明白的是为什么你要经历处理所有事情的努力。简单地将TaskPane隐藏起来有什么问题? – Mathias

回答

0

我面临着类似的问题与自定义任务窗格不VSTO Excel 2010中的代码正确处理我使用的尝试解决这个问题很简单:

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

的Visible事件侧面板对我来说似乎不起作用。我通常显示或隐藏这样的任务窗格:

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

我还没有能够解决这个问题。 – Cannon