如何区分按钮是在主 window 上按下还是在单独的 window 中打开的电子邮件上按下?
How to distinguish if button was pressed on the main window or on the email opened in a separate window?
问题出在用户分离电子邮件并使用加载项时。他认为,我理解为什么,他正在对他面前的电子邮件进行操作。但是实现是:
Selection selection = app.ActiveExplorer().Selection ;
因此,用户实际上是在对浏览器中的选择进行操作,该浏览器位于主要 window 上。我的问题是:
如何查看按钮被按下的位置?它是带有浏览器的主要 window,还是单独的 window 中的分离电子邮件?
P.S。按钮放置在功能区上。
您的按钮单击处理程序将 RibbonControl 作为参数。将 RibbonControl.Context 投射为探索者或检查员。
第一种方法是检查 ActiveWindow 方法,其中 returns returns 代表桌面上当前 Microsoft Outlook window 的对象,Explorer 或 Inspector 对象。 Returns 如果没有打开 Outlook 资源管理器或检查器,则无。
第二种方法(直接)是查看 IRibbonControl 接口的 Context 属性,它表示包含触发回调过程的功能区用户界面的活动 window。您可以在 MSDN 中的以下系列文章中阅读有关 Fluent UI 的更多信息:
问题出在用户分离电子邮件并使用加载项时。他认为,我理解为什么,他正在对他面前的电子邮件进行操作。但是实现是:
Selection selection = app.ActiveExplorer().Selection ;
因此,用户实际上是在对浏览器中的选择进行操作,该浏览器位于主要 window 上。我的问题是:
如何查看按钮被按下的位置?它是带有浏览器的主要 window,还是单独的 window 中的分离电子邮件?
P.S。按钮放置在功能区上。
您的按钮单击处理程序将 RibbonControl 作为参数。将 RibbonControl.Context 投射为探索者或检查员。
第一种方法是检查 ActiveWindow 方法,其中 returns returns 代表桌面上当前 Microsoft Outlook window 的对象,Explorer 或 Inspector 对象。 Returns 如果没有打开 Outlook 资源管理器或检查器,则无。
第二种方法(直接)是查看 IRibbonControl 接口的 Context 属性,它表示包含触发回调过程的功能区用户界面的活动 window。您可以在 MSDN 中的以下系列文章中阅读有关 Fluent UI 的更多信息: