Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在outlook加载项的windows窗体内创建类似于邮件列表的视图_C#_Email_Outlook_Outlook Addin - Fatal编程技术网

C# 在outlook加载项的windows窗体内创建类似于邮件列表的视图

C# 在outlook加载项的windows窗体内创建类似于邮件列表的视图,c#,email,outlook,outlook-addin,C#,Email,Outlook,Outlook Addin,我正在尝试创建一个Outlook加载项,其中将有一个Windows窗体。在该表单中会有一个邮件列表,即与收件箱不同的视图 我使用C[VS 2010 Outlook 2010加载项]为MS Outlook 2010/2013执行此操作 我已经尝试探索以下内容,但似乎不适合,或者我遗漏了一些东西: 表视图它似乎只适用于活动的资源管理器/检查器,而不适用于windows窗体中可显示的内容。 形状区域 Outlook视图控件我似乎找不到对ViewCtl或AxMicrosoft的引用 我现在正在考虑使用类

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

我使用C[VS 2010 Outlook 2010加载项]为MS Outlook 2010/2013执行此操作

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

表视图它似乎只适用于活动的资源管理器/检查器,而不适用于windows窗体中可显示的内容。 形状区域 Outlook视图控件我似乎找不到对ViewCtl或AxMicrosoft的引用 我现在正在考虑使用类似网格视图的东西,然后用邮件项目填充它。但我想知道是否有比这更好的方法,如果有人能告诉我还有什么地方可以看

谢谢:

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

例如,我不认为使用网格视图控件保存另一个列表视图将是一项容易的任务

形状区域

它们只适用于检查窗。您需要使用windows API函数对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中工作。有关更多信息,请参阅

作为替代,考虑使用来自ADX的WebVIEWPAN布局。该解决方案基于WebViewURL属性,还需要windows注册表项,但提供了一种更方便的方法来设置带有.net控件的windows窗体。有关更多信息,请参见[类似][3]论坛帖子


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

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