2015-03-08 3 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# для получения дополнительной информации.

Примечание: вы можете использовать automatic language converters, чтобы получить код VB.NET, если вы не понимаете C#.

+0

Мой класс 'OptionsPage' является' UserControl' и реализует 'PropertyPage'. Я проверил ссылку, и она не предлагает ничего дополнительного, что я уже делаю. Любые другие предложения? –

Смежные вопросы