共享单例WebBrowser控件 - 需要使特定实例处于活动状态

时间:2015-03-11 18:59:07

标签: c# excel webbrowser-control customtaskpane

我正在使用WebBrowser控件作为Excel任务窗格的一部分。我们不希望为每个创建的工作簿创建一个新工作簿(这是在Excel 2013中每个工作簿都有自己的任务窗格)并尝试保持它们同步,因此我们让任务窗格创建单个浏览器控件的实例。

每个打开的工作簿都会获得此Web浏览器控件的实例,并显示该工作簿...并停止显示其他工作簿。这没关系,但是当用户在打开的工作簿之间切换时,我希望能够在活动工作簿的任务窗格中显示控件。

我添加了捕获Workbook Activate事件的代码,当它调用以显示webbrowser控件时,它仍然指向simgleton实例...我只是不知道如何再次显示控件。 / p>

1 个答案:

答案 0 :(得分:1)

我终于能够通过在Workbook Activate事件期间调用任务窗格控件并从其容器控件中删除控件然后将其添加回容器控件来完成此操作。这肯定不是我称之为理想的解决方案,但尝试典型的重绘调用在这种情况下不起作用。现在,活动工作簿任务窗格始终显示单个Web浏览器。

这个webbrowser使用Excel 2010更容易实现,因为只有一个任务窗格!希望这有助于其他人...