Cómo: Especificar un archivo de Ayuda para un componente
Actualización: noviembre 2007
En la mayoría de las situaciones, debe permitirse a los programadores que vayan a utilizar los componentes que habiliten la ayuda en tiempo de ejecución. En ocasiones, sin embargo, será útil permitir que el componente muestre Ayuda HTML cuando reciba una llamada. Se puede proporcionar Ayuda HTML para los componentes mediante el objeto System.Windows.Forms.Help. Este objeto es una clase estática que encapsula el motor de HTML Help 1.x. No se pueden crear instancias de esta clase y es preciso llamar a sus métodos directamente. Para mostrar la ayuda, realice una llamada al método Help.ShowHelp. Este método sobrecargado requiere al menos dos argumentos: el control que actúa como control principal del cuadro de diálogo Ayuda y la dirección URL del archivo de ayuda. El archivo de Ayuda puede ser un archivo compilado de HTML Help 1.x (archivo .chm) o un archivo HTML en formato de Ayuda HTML.
Si va a incorporar directamente en el componente la compatibilidad de un archivo de ayuda, tiene dos opciones en cuanto a cuándo y cómo mostrarlo:
La opción preferida consiste en implementar un método de ayuda al que pueda llamar la aplicación de cliente. La aplicación de cliente puede pasar parámetros al método de ayuda para asegurarse de que se muestran los temas correctos; el programador que cree código con el componente tendrá la opción de pasar por alto la ayuda.
La otra opción consiste en invocar el método ShowHelp como respuesta a las condiciones que se produzcan en el código. Este enfoque proporciona el máximo control sobre qué ayuda se muestra y cuándo, pero limita mucho a los futuros programadores el uso del componente.
Para especificar y mostrar un archivo de ayuda para el componente
Cree y compile el archivo .chm de ayuda.
Si no tiene todavía una referencia al espacio de nombres System.Windows.Forms en el componente, agregue una.
Cree un método público para mostrar la ayuda. Este método debe proporcionar a los programadores un medio sencillo para especificar qué ayuda necesitan mostrar.
' This method takes parameters from the client application that allow ' the developer to specify when Help is displayed. Public Sub DisplayHelp (ByVal parent as System.Windows.Forms.Control, _ ByVal topic as MyHelpEnum) ' The file to display is chosen by the value of the topic ' parameter. Select Case topic Case MyHelpEnum.enumWidgets Windows.Forms.Help.ShowHelp(parent, "C:\Help\Widgets.chm") Case MyHelpEnum.enumMechanisms ' Insert code to implement additional functionality. End Select End Sub
// This method takes parameters from the client application that allow // the developer to specify when Help is to be shown. public void MyHelp(System.Windows.Forms.Control parent, myHelpEnum topic) { // The file to display is chosen by the value of the topic. switch (topic) { case myHelpEnum.enumWidgets: System.Windows.Forms.Help.ShowHelp(parent, " C:\\help\\widgets.chm "); break; case myHelpEnum.enumMechanism: // Insert code to implement additional functionality. break; } }