如何区分主窗口或在单独窗口中打开的电子邮件上是否按下了按钮?

时间:2016-01-12 11:38:14

标签: .net outlook-addin outlook-2013

问题是当用户分离电子邮件并使用加载项时。他认为,我理解为什么,他正在他能在他面前看到的电子邮件上运作。但实施是:

Selection selection = app.ActiveExplorer().Selection ;

因此,用户实际上正在对主窗口上的资源管理器中的选择进行操作。我的问题是:

如何检查按钮的按下位置?它是浏览器的主窗口,还是单独窗口中的分离电子邮件?

P.S。按钮放在功能区上。

2 个答案:

答案 0 :(得分:1)

按钮单击处理程序将RibbonControl作为参数。将RibbonControl.Context强制转换为Explorer或Inspector。

答案 1 :(得分:1)

第一种方法是检查返回的ActiveWindow方法返回表示桌面上当前Microsoft Outlook窗口的对象, Explorer Inspector 对象。如果未打开Outlook资源管理器或检查器,则返回Nothing。

第二种方式(直接)是检查IRibbonControl接口的Context属性,该属性表示包含触发回调过程的功能区用户界面的活动窗口。您可以在MSDN中的以下系列文章中阅读有关Fluent UI的更多信息: