【问题标题】:Create a view, similar to mail list, inside a windows form for an outlook add-in在 Windows 窗体中为 Outlook 加载项创建类似于邮件列表的视图
【发布时间】:2015-03-06 00:12:02
【问题描述】:

我正在尝试创建一个 Outlook 加载项,其中会有一个 Windows 窗体。该表单内部将是一个邮件列表,即与收件箱不同的视图。

我正在为 MS Outlook 2010/2013 执行此操作,使用 C# [VS 2010 Outlook 2010 插件]。

我已经尝试探索以下内容,但它似乎不适合,或者我遗漏了一些东西:

  • 表格视图(它似乎只适用于活动的资源管理器/检查器,而不适用于 Windows 窗体中可显示/可显示的内容。)
  • 窗体区域
  • Outlook 视图控件(我似乎找不到对 ViewCtl 或 AxMicrosoft 的引用)

我现在正在考虑只使用网格视图之类的东西,然后用邮件项填充它。但我想知道是否有比这更好的方法,是否有人可以指出我还有什么地方可以看?

谢谢:)

【问题讨论】:

  • 这只是针对特定文件夹吗?您是否尝试在单独的窗口中显示此内容?还是代替 Outlook 显示的视图?
  • 我不确定我是否理解... 这只是针对特定文件夹吗? - 我认为是的,尽管用户实际上可以选择哪些文件夹。 你想在单独的窗口中显示它吗? - 我想是的,因为它是一个单独的窗口窗体。 或者代替 Outlook 显示的视图? - 我认为不,默认的 Outlook 窗口应该保持原样。视图应该只在表单内。
  • 如果它是您自己的窗口,是什么阻止您使用列表视图控件并以您认为合适的任何方式填充数据?如果您不喜欢列表视图,您可以使用数百个 C# 网格控件之一。
  • 这是我最后的手段。我希望它看起来与默认 Outlook 窗口中的电子邮件列表相似。 Outlook 视图控件似乎可以完成这项工作,但我无法使其工作。
  • 当然可以,因为它只能显示一个文件夹的内容。它不会显示您的自定义数据。

标签: c# email outlook outlook-addin


【解决方案1】:

现在考虑只使用网格视图之类的东西,然后用邮件项填充它。

我不认为保留另一个列表视图(例如,使用网格视图控件)将是一件容易的事。

窗体区域

它们仅适用于检查器窗口。您需要使用 Windows API 函数对 Outlook 窗口进行子类化,以将您自己的表单注入资源管理器窗口。请参阅Adjacent Windows In Outlook 了解更多信息。

您可以使用 Folder 类的 [WebViewURL][2] 属性,该属性允许设置一个字符串,指示分配给文件夹的网页的 URL。

Sub SetupFolderHomePage()  
  Dim nsp As Outlook.NameSpace  
  Dim mpfInbox As Outlook.Folder  
  Dim mpfNew As Outlook.Folder 
  Set nsp = Application.GetNamespace("MAPI")  
  Set mpfInbox = nsp.GetDefaultFolder(olFolderInbox)  
  Set mpfNew = mpfInbox.Folders.Add("MyFolderHomePage")  
  mpfNew.WebViewURL = "http://www.microsoft.com"  
  mpfNew.WebViewOn = True  
End Sub

请注意,您需要在 Windows 注册表中设置 NonDefaultStoreScript 键才能使 WebView 属性在 Outlook 中正常工作。请参阅You cannot add a URL to the Address box on the Home Page tab in Outlook 2007 了解更多信息。

作为替代方案,请考虑使用 ADX 中的 WebViewPane 布局。该解决方案基于 WebViewURL 属性,并且还需要 windows 注册表项,但提供了一种更方便的方式来设置带有 .net 控件的 windows 窗体。有关详细信息,请参阅 [similar][3] 论坛主题。

您还可以自定义资源管理器窗口中的当前视图。 Outlook 对象模型为 Explorer 和 Folder 类提供了CurrentView 属性。 View 对象表示用于对数据进行排序、分组和查看的可自定义视图。使用 View 对象的 XML 属性定义和自定义视图。 XML 属性允许您创建和设置自定义的 XML 模式,用于定义视图的各种功能。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-01
    • 2020-08-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多