2015-03-08 60 views
0

我有一个Outlook 2007加载项目,我尝试添加一个PropertyPage到。我已实施OptionsPage课程(其实施PropertyPage),该课程在Application.OptionsPagesAdd活动期间添加。Outlook AddIn`PropertyPage`没有出现在Outlook选项中

Public Class OptionsPage 
    Implements Microsoft.Office.Interop.Outlook.PropertyPage 

    Private Sub Me_Load(sender As Object, e As System.EventArgs) Handles Me.Load 
     System.Windows.Forms.MessageBox.Show("Test Options Loaded") 
    End Sub 

    Public Sub Apply() Implements Microsoft.Office.Interop.Outlook.PropertyPage.Apply 
     ' todo 
    End Sub 

    Public ReadOnly Property Dirty As Boolean Implements Microsoft.Office.Interop.Outlook.PropertyPage.Dirty 
     Get 
      ' todo 
      Return False 
     End Get 
    End Property 

    Public Sub GetPageInfo(ByRef HelpFile As String, ByRef HelpContext As Integer) Implements Microsoft.Office.Interop.Outlook.PropertyPage.GetPageInfo 
     ' todo 
    End Sub 

End Class 
Public Class ThisAddIn 

    Private Sub Application_OptionsPagesAdd(pages As Microsoft.Office.Interop.Outlook.PropertyPages) Handles Application.OptionsPagesAdd 
     pages.Add(New OptionsPage(), "Test Options") 
    End Sub 

End Class 

任何人都可以提出建议,为什么我不能得到OptionsPage到Outlook中的选项显示出来,尽管我没有得到任何错误或运行时异常?

回答

1

事实证明,你需要确保你的类(实现PropertyPage)是为了其ComVisible属性True为它在Outlook中显示 - 发现in this thread

<System.Runtime.InteropServices.ComVisible(True)> 
Public Class OptionsPage 
    Implements Microsoft.Office.Interop.Outlook.PropertyPage 
End Class 
0

您需要创建一个实现PropertyPage接口的用户控件。有关更多信息,请参阅How to implement OL PropertyPage with c#

请注意,如果您不了解C#,则可以使用automatic language converters来获取VB.NET代码。

+0

我'OptionsPage'类是' UserControl'并实现'PropertyPage'。我检查了链接,并没有提供任何额外的东西,我已经在做。还有其他建议吗? – 2015-03-09 21:30:27