可以在Outlook Addin(VSTO)中打开表单或窗口吗?

时间:2010-06-08 01:19:52

标签: c# vsto outlook-2007

我是VSTO编程的新手。我已经为Outlook 2007创建了一个基本插件,它监视包含XML文本文件的文件夹,然后将其作为电子邮件发送,然后将其删除。一切正常。

我希望用户能够为插件/程序的运行方式配置某些设置,例如它将监视的文件夹以及其他内容。这样做的逻辑方法是在插件中创建一个菜单项(我也已经完成),打开一个允许他们输入参数的窗体(或XAML窗口)。

在我的插件中,我添加了一个新的项目Windows Form,它起作用了,设计师打开了。但是,在我的插件代码中,我无法打开表单。通常与表单对象关联的Show()方法不可用。

这只是你不能做的事情,还是我只是做错了?

我已经阅读过有关Outlook表单区域的内容,但这些内容似乎附加到Outlook项目,例如新的电子邮件,任务,约会等......似乎没有办法创建可以打开的表单区域Outlook的主窗口。

理想情况下,我想采用我从菜单项打开新窗口的原始方法,但如果不可能,我希望听到其他解决方案。

谢谢, 将

2 个答案:

答案 0 :(得分:7)

对于普通表单,听起来好像你不只是添加System.Windows.Forms作为参考, 创建对象,然后显示它。

Form myFrm = new frmFlightList();
myFrm.Show();

这应该在VSTO插件中工作,就像在任何其他形式中一样。您引用的CMSConnectorControl对象只是想要显示表单的一般情况,会分散其他人的注意力。

答案 1 :(得分:0)

想出来,在我构建表单后,我只需要添加这些行

CMSConnectorControl formMain = new CMSConnectorControl();
formMain.ShowDialog();

到ThisAddin_Startup()函数。