Visual Basic 6 provided a 'Procedure Attributes' dialog
box that allowed an ActiveX developer to enter data for a
number of 'attributes' relating to procedures in the
In my case the attribute of interest is the Help Context
ID. When the Help Context ID is coupled with a .chm help
file (specified in the Project Help File) that
implemented these Help Context ID's this allowed an
application developer who is using my ActiveX to simply
place the cursor over the ActiveX method in their
application code and press F1. This would bring up
the .chm help file opened to the help for the method that
the cursor was currently on.
I have found no equivalent way of doing the same thing in
VB.Net. Most of the 'attributes' are now specified in the
code by declaring the attributes in front of the
procedure instead of using a dialog box like VB6. The
obvious omission in the list of supported attributes
in .Net is the Help Context ID and Project Help File.
Unfortunately ToolTips, HelpProvider, and the HelpButton
only work with user control components that sit on a form
or the form itself. Our new VB.Net components (what used
to be ActiveX's in VB6) are now simply components
(Inherits System.ComponentModel.Component), not user
controls. They do not sit on a form because they have no
user interface and therefore can not use ToolTips, the
HelpProvider, or the Help button.
Visual Studio.Net does provide a way of linking code
content to the IDE dynamic help and F1 through a custom
built .xml file that wants a URL to the help content. I
have experimented with this using the ActiveX's .chm file
for the URL help content (LItem) but only with limited
success and I do not like the results.
My question: Is there an equivalent way of doing what I
did in VB6 (application code context sensitive help to an
ActiveX method using Procedure Attributes/Help Context
ID's) in VB.Net?