gpt4 book ai didi

c# - 阻止默认发送按钮功能并仅在 Outlook 中执行自定义操作

转载 作者:太空宇宙 更新时间:2023-11-03 11:21:43 24 4
gpt4 key购买 nike

目标:在加载项中,我需要阻止向与会者发送日历通知,但同时我想在单击发送按钮时执行一些自定义操作。简而言之,我只需要执行关联的自定义操作带有发送按钮,而不是发送按钮的默认功能。

我正在使用 VSTO2010、MS Office 2007、.net 4。

我需要在 Ms office 2003、2007、2010 上执行此操作(支持 2007 和 2010 就足够了)。

最佳答案

您需要拦截CommandBar 上发送按钮的OnClick 事件。是的,即使 Outlook 2010 使用功能区并且不显示任何命令栏,仍然有一个包含按钮的编程 CommandBar。为了兼容性,功能区按钮仍然会导致相应的 CommandBarButton 对象引发事件。

更复杂的是,在“约会”变成“ session ”之前,您想要的按钮不存在。

您需要一些字段:

private CommandBars mCommandBars;
private CommandBarButton mCommandButtonSendMeeting;

在您的 NewInspector 事件中,添加这些行

mCommandBars = this.Inspector.CommandBars;
mCommandBars.OnUpdate += CommandBars_OnUpdate;

别处

private void CommandBars_OnUpdate()
{
if (mCommandButtonSendMeeting == null)
{
mCommandButtonSendMeeting = (CommandBarButton)CommandBars.FindControl(Missing.Value, 2617, Missing.Value, Missing.Value);
mCommandButtonSendMeeting.Click += CommandButtonSendMeeting_Click;
}
}

private void CommandButtonSendMeeting_Click(CommandBarButton Ctrl, ref bool CancelDefault)
{
CancelDefault = true;
// Do whatever here.
}

关于c# - 阻止默认发送按钮功能并仅在 Outlook 中执行自定义操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10753637/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com