当用户关闭自定义任务窗格,可以处理VisualChanged
事件。然而请注意,在VisibleChanged事件处理程序中,Office应用程序会阻止你修改自定义任务窗格的一些属性,比如
Width,Height,Visible和DockPosition属性。如果你试图改变这些属性,将会抛出一个COMException。
自定义任务窗格(连同一些属性)保留在内存中直到外接程序被卸载掉,或者显示地使用ThisAddIn.CustomTaskPanes.Remove或者ThisAddIn.CustomTaskPanes.RemoveAt
方法。多数的自定义任务窗格旨在工作于“应用程序级”,意味着用户在特定的用户会话里可能会多次显示或者隐藏同样的任务窗格。在这些情况下,重用相同的自定义任务窗格对象是有意义的。这意味着当用户每次显示任务窗格时,自定义任务窗格能够被重用。如果不想使自定义任务窗格保留在内存中,你可以使用相应的Remove和RemoveAt方法。
你可能想怎么做的其中一种情况就是Outlook,你可能想为已被打开的每个项目(邮件,联系人等等)显示唯一的自定义任务窗格。在这种情况下,为了有效地使用资源,你极有可能想在用户关闭相应的项目时,显示地清除每个任务窗格。
请参见这个演示:为 Outlook
中的电子邮件显示自定义任务窗格。
相关的链接:http://msdn.microsoft.com/zh-cn/library/bb296010.aspx
相关的论坛帖子:http://social.msdn.microsoft.com/forums/en-US/vsto/thread/be8109b6-b56e-4153-acb6-f97f47dbbdff/
更多的有关VSTO的FAQ,请看:
http://social.msdn.microsoft.com/Forums/zh-CN/vstudiozhchs/thread/ed10f3de-40bb-4f16-81f9-25ace1f152ba
如果您对我们的论坛在线支持服务有任何的意见或建议,请通过
邮件告诉我们。
立刻免费下载
MSDN 论坛好帮手