我正在创建一个带有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
有人知道如何“解决”这种行为或要处理/压制的事件?
答案 0 :(得分:1)
您可以使用所需信息显示自己的Windows窗体。例如:
form.Show();
或
form.ShowDialog();
不要忘记指定父Outlook窗口句柄以防止隐藏对话框窗口。您可以将Explorer或Inspector对象强制转换为IOleWindow接口以获取句柄。
您也可以考虑将自定义表单添加到资源管理器或检查器窗口。如果是检查员,您可以使用Outlook表单区域。对于Explorers没有这样的技术,您必须使用Windows API函数来子类化Explorer窗口。有关详细信息,请参阅Adjacent Windows In Outlook。
但Outlook对象模型不提供将项目保存到磁盘/文件夹时触发的任何信息或事件。