Outlook自定义进度条

时间:2015-01-21 19:39:06

标签: c# outlook add-in

我正在创建一个带有C#的Outlook外接程序(.NET 4.0 out look 2010),它将用户选择的文件保存到特定的文件系统文件夹,一切正常。 文件使用

保存
Outlook.MailItem objMailItem = (Outlook.MailItem)mailitem;
objMailItem.SaveAs(string.Concat(objDir.FullName, "\\",RDate, fName + ".msg"), Outlook.OlSaveAsType.olMSG);

当用户选择多页文件时,outlook会为每个文件显示一个“保存”对话框(例如:将文件保存到..C:\用户提供的路径)。

我正在寻找创建一个类似于:

的自定义对话框
Saving 1 of 10
.
.
Saving 9 of 10

有人知道如何“解决”这种行为或要处理/压制的事件?

1 个答案:

答案 0 :(得分:1)

您可以使用所需信息显示自己的Windows窗体。例如:

form.Show();

form.ShowDialog();

不要忘记指定父Outlook窗口句柄以防止隐藏对话框窗口。您可以将Explorer或Inspector对象强制转换为IOleWindow接口以获取句柄。

您也可以考虑将自定义表单添加到资源管理器或检查器窗口。如果是检查员,您可以使用Outlook表单区域。对于Explorers没有这样的技术,您必须使用Windows API函数来子类化Explorer窗口。有关详细信息,请参阅Adjacent Windows In Outlook

但Outlook对象模型不提供将项目保存到磁盘/文件夹时触发的任何信息或事件。