How to push F1 context keywords for property pages in the project designer?


IPropertyPage.Help is not invoked on property pages integrated with the Application Designer. Consequently, you need to push an F1 keyword by calling IHelpService.AddContextAttribute, similar to what the VB .NET and C# project property pages do.


Using the IronPython Integration sample as a test bed for illustration purposes, you can push an F1 context keyword as follows:

Add the following data member to the BuildPropertyPage in BuildPropertyPage.cs:

private System.IServiceProvider serviceProvider;

Override the SetPageSite method as follows:

public override void SetPageSite(Microsoft.VisualStudio.OLE.Interop.IPropertyPageSite theSite)



   this.serviceProvider = (System.IServiceProvider)theSite;


Then override the Show method to call IHelpService.AddContextAttribute whenever the page is being shown. For example:

public override void Show(uint cmd)



   if (cmd != 0 /*SW_HIDE*/)


      IHelpService helpService = (IHelpService)serviceProvider.GetService(typeof(IHelpService));

      helpService.AddContextAttribute(“Keyword”, “ip.BuildPage”, HelpKeywordType.F1Keyword);



Finally, to test if your keyword is being pushed, modify the “HKCU\<root hive>\Dynamic Help\Display Debug Output in Retail” to “Yes” (without the quotations marks) .

Restart Visual Studio using the <root hive> specified above, and bring up the Dynamic Help Tool Window. At the bottom of the Dynamic Help Tool Window, you should see your keyword listed with any entry like:

   (Kwd) keyword=ip.BuildPage

Additional resources:

·         Help Authoring and Integration

·         Tutorial: How to Integrate Help Documentation into Visual Studio