2

我正在通过 Search.Save 方法以编程方式创建搜索文件夹。保存搜索后(它在 Search Folders 目录中创建一个新文件夹),我想将注意力集中在这个新创建的文件夹上,以便视图更改为该文件夹。

这是我到目前为止的代码....

searchFolders = inboxFolder.Store.GetSearchFolders();
foreach (Outlook.Folder folder in searchFolders)
{
    if (folder.Name == "Expiring Retention Policy Mail")
    {
        folder.ShowItemCount = Microsoft.Office.Interop.Outlook.OlShowItemCount.olShowTotalItemCount;
        //folder.SetCustomIcon(new Bitmap(32, 32));
        folder.Display();
    }
}

当我执行 folder.Display() 时,它会打开一个全新的检查器窗口......我不希望发生这种情况,我只是想选择它(比如通过设置焦点?)并在同一个检查器窗口中查看它它存在于。有人知道该怎么做吗?

谢谢你。

4

1 回答 1

4

这应该对你有用......

访问您的Application对象(或从主加载项类)。接着

this.Application.ActiveExplorer().CurrentFolder = folder;  

即你可以CurrentFolder使用ActiveExplorer

当然,始终确保正确地释放您的 COM 对象(需要释放的对象)——而且你永远不应该像我在这里所做的那样(为了简单起见)——即像这样链接属性。将每个(属性)保存到变量中,并 Marshal.ReleaseComObject在退出时通过释放。

于 2013-04-19T22:09:44.857 回答