加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 更改outlook MailItem图标

发布时间:2020-12-15 04:29:27 所属栏目:百科 来源:网络整理
导读:我正在开发一个outlook 2010插件,当用户从菜单中单击按钮时,它会将电子邮件导出到特定位置. 这部分不是问题,但如果导出成功,我还需要更改MailItem图标 – 象形图.我试图寻找解决方案,但我只是得到了我需要使用form regions,但我找不到真正有用的解决方案. 任
我正在开发一个outlook 2010插件,当用户从菜单中单击按钮时,它会将电子邮件导出到特定位置.

这部分不是问题,但如果导出成功,我还需要更改MailItem图标 – 象形图.我试图寻找解决方案,但我只是得到了我需要使用form regions,但我找不到真正有用的解决方案.

任何想法我应该如何使用这个表单区域?!

我完成了加载项,从VS 2010调试时,一切似乎都很完美.我还创建了一个安装程序,但在安装应用程序后,Outlook将不会显示我想要的图标.它不是显示你上面看到的内容,而是更改图标,但显示默认图标 – 而不是我的图标.图标位于我使用的FormRegion的resx文件中(我使用dor默认和从清单中读取图标),我还尝试将它们移动到常规资源文件(Properties.Resource),但结果是相同的.有人可以帮我弄这个吗?

所以我还使用Replacement和ReplaceAll添加了一个FormRegion,在清单上的默认图标上添加了我的图标,并将其命名为IPM.Note.MyExportedItem.

在ThisAddin.cs中,我有以下代码:

MailItem mailItem =(selectedItem as MailItem);

itemGuid = mailItem.EntryID;
                    string name = mailItem.Subject + ".msg";



                    name = "C:" + name.Replace(":","");
                    try
                    {
                        mailItem.SaveAs(name,OlSaveAsType.olMSG);
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show(ex.ToString());
                    }
                    mailItem.MessageClass = "IPM.Note.MyExportedItem";
                    mailItem.Display(true);

                    ........

但是,当我按照我想要的方式导出它时,这并不是将邮箱中的mailItem(电子邮件)图标更改为我的图标,我可以看到的唯一更改是当我调用Display(true)并打开邮件消息时.此外,如果我按下新项目,选择表格并打开我的表格区域,它会打开一个撰写邮件窗口,如果我发送电子邮件给我,那么它将有我的图标…奇怪…你可以在图片中看到:-)你知道我做错了什么吗?

问候

解决方法

以下是在Outlook中使用自定义图标所需的步骤:

>您需要为导出的项目分配自定义MailItem.MessageClass(IPM.Note.MyCompany.MyExportedItem).
> Create a replacement Form Region匹配MessageClass
>分配Properties Pane of the Form Region Designer中的图标.
> Re-deploy your VSTO Add-In使用自定义表单区域.

这MSDN forum post also describes the process.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读