Compartir vía


IHelpService Interfaz

Definición

Proporciona métodos para mostrar los temas de Ayuda y para agregar y quitar palabras clave de Ayuda en tiempo de diseño.

public interface class IHelpService
public interface IHelpService
type IHelpService = interface
Public Interface IHelpService

Ejemplos

En el ejemplo siguiente se muestra un diseñador que usa para IHelpService agregar y quitar atributos de contexto de Ayuda para el control incluido. Para usar este ejemplo, comppílelo en una biblioteca de clases y agregue una instancia del control a .Form En la vista de diseño, seleccione el componente y presione F1 intenta buscar temas de Ayuda relevantes en función de la palabra clave o palabras clave del contexto de ayuda actuales. Haga clic con el botón derecho en el componente y el menú contextual muestra comandos, incluidos dos comandos personalizados DesignerVerb denominados Add IHelpService Help Keyword y Remove IHelpService Help Keyword. Estos comandos se pueden usar para agregar o quitar una palabra clave de contexto de Ayuda del valor "IHelpService", que intenta generar el IHelpService tema cuando se presiona F1.

#using <System.Windows.Forms.dll>
#using <System.Drawing.dll>
#using <System.Design.dll>
#using <System.dll>

using namespace System;
using namespace System::ComponentModel;
using namespace System::ComponentModel::Design;
using namespace System::Drawing;
using namespace System::IO;
using namespace System::Windows::Forms;
using namespace System::Windows::Forms::Design;

public ref class HelpDesigner: public System::Windows::Forms::Design::ControlDesigner
{
public:
   HelpDesigner(){}

   property System::ComponentModel::Design::DesignerVerbCollection^ Verbs 
   {
      virtual System::ComponentModel::Design::DesignerVerbCollection^ get() override
      {
         array<DesignerVerb^>^temp0 = {gcnew DesignerVerb( "Add IHelpService Help Keyword",gcnew EventHandler( this, &HelpDesigner::addKeyword ) ),gcnew DesignerVerb( "Remove IHelpService Help Keyword",gcnew EventHandler( this, &HelpDesigner::removeKeyword ) )};
         return gcnew DesignerVerbCollection( temp0 );
      }
   }

private:
   void addKeyword( Object^ /*sender*/, EventArgs^ /*e*/ )
   {
      IHelpService^ hs = dynamic_cast<IHelpService^>(this->Control->Site->GetService( IHelpService::typeid ));
      hs->AddContextAttribute( "keyword", "IHelpService", HelpKeywordType::F1Keyword );
   }

   void removeKeyword( Object^ /*sender*/, EventArgs^ /*e*/ )
   {
      IHelpService^ hs = dynamic_cast<IHelpService^>(this->Control->Site->GetService( IHelpService::typeid ));
      hs->RemoveContextAttribute( "keyword", "IHelpService" );
   }
};


[Designer(HelpDesigner::typeid)]
public ref class HelpTestControl: public System::Windows::Forms::UserControl
{
public:
   HelpTestControl()
   {
      this->Size = System::Drawing::Size( 320, 100 );
      this->BackColor = Color::White;
   }

protected:
   virtual void OnPaint( System::Windows::Forms::PaintEventArgs^ e ) override
   {
      Brush^ brush = gcnew SolidBrush( Color::Blue );
      e->Graphics->DrawString( "IHelpService Example Designer Control", gcnew System::Drawing::Font( FontFamily::GenericMonospace,10 ), brush, 5, 5 );
      e->Graphics->DrawString( "Right-click this component for", gcnew System::Drawing::Font( FontFamily::GenericMonospace,8 ), brush, 5, 25 );
      e->Graphics->DrawString( "add/remove Help context keyword commands.", gcnew System::Drawing::Font( FontFamily::GenericMonospace,8 ), brush, 5, 35 );
      e->Graphics->DrawString( "Press F1 while this component is", gcnew System::Drawing::Font( FontFamily::GenericMonospace,8 ), brush, 5, 55 );
      e->Graphics->DrawString( "selected to raise Help topics for", gcnew System::Drawing::Font( FontFamily::GenericMonospace,8 ), brush, 5, 65 );
      e->Graphics->DrawString( "the current keyword or keywords", gcnew System::Drawing::Font( FontFamily::GenericMonospace,8 ), brush, 5, 75 );
   }
};
using System;
using System.ComponentModel;
using System.ComponentModel.Design;
using System.Drawing;
using System.IO;
using System.Windows.Forms;
using System.Windows.Forms.Design;

namespace IHelpServiceSample
{
    public class HelpDesigner : System.Windows.Forms.Design.ControlDesigner
    {
        public HelpDesigner()
        {			
        }

        public override System.ComponentModel.Design.DesignerVerbCollection Verbs
        {
            get
            {
                return new DesignerVerbCollection( new DesignerVerb[] { 
                        new DesignerVerb("Add IHelpService Help Keyword", new EventHandler(this.addKeyword)),
                        new DesignerVerb("Remove IHelpService Help Keyword", new EventHandler(this.removeKeyword))
                } );
            }
        }
        
        private void addKeyword(object sender, EventArgs e)
        {
            IHelpService hs = (IHelpService) this.Control.Site.GetService(typeof(IHelpService));			
            hs.AddContextAttribute("keyword", "IHelpService", HelpKeywordType.F1Keyword);	
        }
        
        private void removeKeyword(object sender, EventArgs e)
        {
            IHelpService hs = (IHelpService) this.Control.Site.GetService(typeof(IHelpService));			
            hs.RemoveContextAttribute("keyword", "IHelpService");
        }
    }

    [Designer(typeof(HelpDesigner))]
    public class HelpTestControl : System.Windows.Forms.UserControl
    {
        public HelpTestControl()
        {
            this.Size = new Size(320, 100);
            this.BackColor = Color.White;
        }

        protected override void OnPaint(System.Windows.Forms.PaintEventArgs e)
        {			
            Brush brush = new SolidBrush(Color.Blue);
            e.Graphics.DrawString("IHelpService Example Designer Control", new Font( FontFamily.GenericMonospace, 10 ), brush, 5, 5);
            e.Graphics.DrawString("Right-click this component for", new Font( FontFamily.GenericMonospace, 8 ), brush, 5, 25);
            e.Graphics.DrawString("add/remove Help context keyword commands.", new Font( FontFamily.GenericMonospace, 8 ), brush, 5, 35);			
            e.Graphics.DrawString("Press F1 while this component is", new Font( FontFamily.GenericMonospace, 8 ), brush, 5, 55);
            e.Graphics.DrawString("selected to raise Help topics for", new Font( FontFamily.GenericMonospace, 8 ), brush, 5, 65);			
            e.Graphics.DrawString("the current keyword or keywords", new Font( FontFamily.GenericMonospace, 8 ), brush, 5, 75);			
        }		
    }
}
Imports System.ComponentModel
Imports System.ComponentModel.Design
Imports System.Drawing
Imports System.IO
Imports System.Windows.Forms
Imports System.Windows.Forms.Design

Namespace IHelpServiceSample

    Public Class HelpDesigner
        Inherits System.Windows.Forms.Design.ControlDesigner

        Public Sub New()
        End Sub

        Public Overrides ReadOnly Property Verbs() As System.ComponentModel.Design.DesignerVerbCollection
            Get
                Return New DesignerVerbCollection(New DesignerVerb() {New DesignerVerb("Add IHelpService Help Keyword", AddressOf Me.addKeyword), New DesignerVerb("Remove IHelpService Help Keyword", AddressOf Me.removeKeyword)})
            End Get
        End Property

        Private Sub addKeyword(ByVal sender As Object, ByVal e As EventArgs)
            Dim hs As IHelpService = CType(Me.Control.Site.GetService(GetType(IHelpService)), IHelpService)
            hs.AddContextAttribute("keyword", "IHelpService", HelpKeywordType.F1Keyword)
        End Sub

        Private Sub removeKeyword(ByVal sender As Object, ByVal e As EventArgs)
            Dim hs As IHelpService = CType(Me.Control.Site.GetService(GetType(IHelpService)), IHelpService)
            hs.RemoveContextAttribute("keyword", "IHelpService")
        End Sub
    End Class

    <Designer(GetType(HelpDesigner))> _
    Public Class HelpTestControl
        Inherits System.Windows.Forms.UserControl

        Public Sub New()
            Me.Size = New Size(320, 100)
            Me.BackColor = Color.White
        End Sub

        Protected Overrides Sub OnPaint(ByVal e As System.Windows.Forms.PaintEventArgs)
            Dim brush As New SolidBrush(Color.Blue)
            e.Graphics.DrawString("IHelpService Example Designer Control", New Font(FontFamily.GenericMonospace, 10), brush, 5, 5)
            e.Graphics.DrawString("Right-click this component for", New Font(FontFamily.GenericMonospace, 8), brush, 5, 25)
            e.Graphics.DrawString("add/remove Help context keyword commands.", New Font(FontFamily.GenericMonospace, 8), brush, 5, 35)
            e.Graphics.DrawString("Press F1 while this component is", New Font(FontFamily.GenericMonospace, 8), brush, 5, 55)
            e.Graphics.DrawString("selected to raise Help topics for", New Font(FontFamily.GenericMonospace, 8), brush, 5, 65)
            e.Graphics.DrawString("the current keyword or keywords", New Font(FontFamily.GenericMonospace, 8), brush, 5, 75)
        End Sub
    End Class
End Namespace 'IHelpServiceSample

Comentarios

El entorno en tiempo de diseño proporciona un sistema de Ayuda que intenta localizar los temas de Ayuda pertinentes para mostrar cuando un usuario presiona F1. El sistema de ayuda mantiene un conjunto de palabras clave de contexto actuales que se usan para identificar temas relevantes si se solicita ayuda. De forma predeterminada, las palabras clave están asociadas a objetos de clase seleccionados y propiedades de objetos en el entorno en tiempo de diseño. La palabra clave predeterminada para un componente o propiedad es su nombre completo de clase o propiedad. Las palabras clave específicas también están asociadas a determinados modos, como cuando se seleccionan varios objetos. Si una colección de Ayuda personalizada se integra con el entorno en tiempo de diseño configurándolo para un proveedor de ayuda externo, un proveedor de documentación puede asociar un tema para una propiedad o clase de componente específica con una palabra clave que consta del tipo completo o el nombre de miembro del elemento.

IHelpService se puede usar para invocar el servicio de ayuda con una palabra clave especificada mediante el ShowHelpFromKeyword método , o para invocar un tema de ayuda desde una dirección URL especificada mediante el ShowHelpFromUrl método .

IHelpService También se puede usar para agregar o quitar palabras clave de Ayuda en tiempo de diseño. Al seleccionar un componente o una propiedad en tiempo de diseño, se establece una palabra clave de contexto predeterminada que consta del tipo completo o el nombre de miembro de la selección, y quita las palabras clave de los componentes o propiedades seleccionados previamente y ya no seleccionados.

Dado que el sistema de ayuda no quita automáticamente las palabras clave de Ayuda personalizadas, debe quitar explícitamente una palabra clave personalizada cuando ya no se aplique. Puede supervisar los eventos definidos por la ISelectionService interfaz para determinar cuándo cambia una selección de componentes. En función de esos eventos, puede agregar un atributo de contexto de Ayuda para un componente cuando esté seleccionado y, a continuación, quitar el atributo de contexto de Ayuda cuando la selección ya no incluya el componente.

Métodos

AddContextAttribute(String, String, HelpKeywordType)

Agrega un atributo de contexto al documento.

ClearContextAttributes()

Quita del documento todos los atributos de contexto existentes.

CreateLocalContext(HelpContextType)

Crea una interfaz IHelpService local para administrar subcontextos.

RemoveContextAttribute(String, String)

Quita un atributo de contexto agregado previamente.

RemoveLocalContext(IHelpService)

Quita un contexto creado con CreateLocalContext(HelpContextType).

ShowHelpFromKeyword(String)

Muestra el tema de Ayuda que corresponde a la palabra clave especificada.

ShowHelpFromUrl(String)

Muestra el tema de Ayuda que corresponde a la dirección URL especificada.

Se aplica a

Consulte también