Want to win a PS4? Go Premium and enter to win our High-Tech Treats giveaway. Enter to Win

x
?
Solved

Can't display custom property page in Outlook 2007

Posted on 2010-11-09
1
Medium Priority
?
549 Views
Last Modified: 2012-05-10
I've followed a tutorial within a book that was written for Visual Studio 2005. Given the tutorial I can't get the new proprty page to open up in Outlook's Tools > Options page. What is wrong with the sample code?
//ThisAddIn.cs
using System;
using System.Windows.Forms;
using Microsoft.VisualStudio.Tools.Applications.Runtime;
using Outlook = Microsoft.Office.Interop.Outlook;

namespace TestPropertyPage
{
    public partial class ThisAddIn
    {
        private void ThisAddIn_Startup(object sender, EventArgs e)
        {
            //Create the Options Page
            System.Windows.Forms.Application.EnableVisualStyles();
            Application.OptionsPagesAdd += new Outlook.ApplicationEvents_11_OptionsPagesAddEventHandler(ThisAddIn_OptionsPagesAdd);
        }

        private void ThisAddIn_Shutdown(object sender, System.EventArgs e)
        {
        }

        private void ThisAddIn_OptionsPagesAdd(Outlook.PropertyPages pages)
        {
            pages.Add(new OptionPage(), "");
        }
        #region VSTO generated code

        /// <summary>
        /// Required method for Designer support - do not modify
        /// the contents of this method with the code editor.
        /// </summary>
        private void InternalStartup()
        {
            this.Startup += new System.EventHandler(ThisAddIn_Startup);
            this.Shutdown += new System.EventHandler(ThisAddIn_Shutdown);
        }
        
        #endregion
    }
}


//OptionPage.cs
using System;
using System.Windows.Forms;
using Outlook = Microsoft.Office.Interop.Outlook;
using System.Runtime.InteropServices;

namespace TestPropertyPage
{
    public partial class OptionPage : UserControl, Outlook.PropertyPage
    {
        const int captionDispID = -518;
        bool isDirty = false;
        
        public OptionPage()
        {
            InitializeComponent();
        }

        void Outlook.PropertyPage.Apply()
        {
            MessageBox.Show("The user clicked the apply button.");
        }

        bool Outlook.PropertyPage.Dirty
        {
            get
            {
                return isDirty;
            }
        }

        void Outlook.PropertyPage.GetPageInfo(ref string helpFile, ref int helpContext)
        {
        }

        [DispId(captionDispID)]
        public string PageCaption
        {
            get
            {
                return "Test Property Page";
            }
        }
    }
}

Open in new window

0
Comment
Question by:Chris_Rennie
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
1 Comment
 

Accepted Solution

by:
Chris_Rennie earned 0 total points
ID: 34140108
Before declaring the OptionPage class, it needed:

[ComVisible(true)]

Then the custom Option Page displayed as intended.
0

Featured Post

Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

The core idea of this article is to make you acquainted with the best way in which you can export Exchange mailbox to PST format.
Are you looking for the options available for exporting EDB files to PST? You may be confused as they are different in different Exchange versions. Here, I will discuss some options available.
Get people started with the process of using Access VBA to control Outlook using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Microsoft Outlook. Using automation, an Access applic…
To add imagery to an HTML email signature, you have two options available to you. You can either add a logo/image by embedding it directly into the signature or hosting it externally and linking to it. The vast majority of email clients display l…

636 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question