VSTO Outlook 插件对话框

VSTO Outlook Addin Dialog Boxes

我一直在尝试找出以类似于我的 VSTO 插件中 MessageBox.Show 的方式弹出对话框的正确方法。我读到这可以使用 WPF 实现,但是有更好的方法吗?我发现了许多不同的例子,其中大部分都在 VBA 中,但我使用的是 C#,所以我在翻译它们时遇到了麻烦。如果有人可以向我提供一个在插件中弹出对话框以从用户那里收集一些信息的示例,并向我指出正确的文档以调整对话框的设置,那将会有很大帮助。我似乎无法使用 VBA 示例让它在 C# 中工作,至于文档,我无法在 VSTO 中找到与对话框相关的文档,就在 WPF 之外,我不确定是可以在这种情况下使用。

如有任何帮助,我们将不胜感激。我只想显示一个对话框,并收集一些信息,仅此而已。我知道 VSTO 功能区组的对话框启动器,但这不是我需要的。

提前致谢。

您可以使用常规 System.Windows.Forms.Form 实例来显示对话框 window 以收集所需信息。使用 ShowDialog method which shows the form as a modal dialog box with the specified owner. Don't forget to psecify the parent window handle to prevent any changes in Outlook. The IWin32Window 接口提供了一个接口来将 Win32 HWND 句柄公开给 ShowDialog 方法。

如果您需要显示 WPF 内容,您可以使用 ElementHost class。这是一个 Windows Forms 控件,可用于承载 Windows Presentation Foundation (WPF) 元素。