none
Cómo crear un manual de usuario para una aplicación WinForm,? RRS feed

  • Pregunta

  • Hola
    Mi pregunta es cómo crear un archivo de ayuda para una aplicación de escritorio construida con VS2005, de tal forma que al darle F1 me despliegue la ayuda tal como lo hace el mismo Visual Studio... Si saben en dónde puedo encontrar info, les agradezco de antemano
    Saludos

    ContextSwitchDeadLock
    lunes, 23 de febrero de 2009 1:54

Todas las respuestas

  • Para crear el archivo de ayuda, aunque lo podrías hacer todo "a mano", lo mejor es que uses un programa que te ayude con esa tarea. Yo suelo usar HelpNDoc, un programa específico para crear archivos de ayuda y que a la vez es freeware. Su uso es extremadamente simple y produce resultados muy aceptables.

    Cuando crees el archivo de ayuda (bien sea con este programa, o con otro, o a mano...) notarás que a cada página de la ayuda le asignas un identificador (si usas HelpNDoc, este identificador es llamado en el programa ContextNumber).

    Posteriormente, una vez que compiles el archivo de ayuda, obtienes un fichero .chm que es la ayuda de tu aplicación. Sólo te queda integrarla dentro de tu aplicación Windows Forms. Lo mejor es que la ayuda sea de tipo contextual, es decir, cuando pulsas F1 obtienes ayuda específica para la pantalla o tarea que estás realizando.

    Para ello, en cada pantalla que quieras mostrar ayuda, incluye un control HelpProvider. Al añadir un HelpProvider a un form, se crean en el form varias propiedades nuevas, de las cuales te interesan:

    HelpNavigator: asígnale el valor TopicId.
    HelpKeyword: asígnale el valor numérico del ContextNumber que corresponda a la pantalla de ayuda que quieres mostrar.

    Y una cosa más, tienes que decirle al control HelpProvider cuál es la ruta del archivo de ayuda (.chm) de la aplicación, con lo que en el Form_Load no olvides:

    Me.HelpProvider1.HelpNamespace = ruta_del_archivo_chm

    Por ejemplo:

    Me.HelpProvider1.HelpNamespace = Application.StartupPath & "\ayuda.chm"

    Lo último que te falta es, si quieres, incluir en un menú de ayuda enlaces a páginas clave de la ayuda. Por ejemplo:

    'Mostrar el índice de la ayuda (página principal, que también definirás con el programa):
    Help.ShowHelp(Me, ruta_del_archivo_de_ayuda, HelpNavigator.Index)
    'Mostrar la tabla de contenidos:
    Help.ShowHelp(Me, ruta_del_archivo_de_ayuda, HelpNavigator.TableOfContents)
    'Mostrar la página de búsqueda:
    Help.ShowHelp(Me, ruta_del_archivo_de_ayuda, HelpNavigator.Find, "")

    Espero haberte ayudado.
    • Propuesto como respuesta Jacky-2009 miércoles, 15 de septiembre de 2010 16:21
    miércoles, 25 de febrero de 2009 8:32
  • Bueno tengo varias pregunta intente seguir todos lso apsao pero no entendi la parte del del ContextNumber  no se en donde aparece y si pongo la ruta de mi documento el programa me genera errorores

      Me.HelpProvider1.HelpNamespace =C:\Users\Caro\Documents\HelpNDoc\Projects.chm

    te agardesco cualquier ayuda

    domingo, 29 de abril de 2012 4:08