IHelpService Interface

Definição

Fornece métodos para mostrar tópicos da Ajuda e adicionar e remover palavras-chave da Ajuda em tempo de design.

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

Exemplos

O exemplo a seguir demonstra um designer que usa os IHelpService atributos de contexto de ajuda para adicionar e remover o controle incluído. Para usar este exemplo, compile-o em uma biblioteca de classes e adicione uma instância do controle a um Form. No modo de exibição de design, selecionando o componente e pressionando as tentativas de F1 de pesquisar tópicos relevantes da Ajuda com base na palavra-chave ou nas palavras-chave de contexto da Ajuda atual. Clique com o botão direito do mouse no componente e o menu de atalho exibe comandos, incluindo dois comandos personalizados DesignerVerb nomeados Add IHelpService Help Keyword e Remove IHelpService Help Keyword. Esses comandos podem ser usados para adicionar ou remover uma palavra-chave de contexto da Ajuda do valor "IHelpService", que tenta levantar o IHelpService tópico quando F1 é pressionado.

#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

Comentários

O ambiente de tempo de design fornece um sistema de Ajuda que tenta localizar tópicos relevantes da Ajuda a serem exibidos quando um usuário pressiona F1. O sistema de Ajuda mantém um conjunto de palavras-chave de contexto atuais que são usadas para identificar tópicos relevantes se a Ajuda for solicitada. Por padrão, as palavras-chave são associadas a objetos de classe selecionados e propriedades de objetos no ambiente de tempo de design. A palavra-chave padrão para um componente ou propriedade é seu nome de propriedade ou classe totalmente qualificado. Palavras-chave específicas também são associadas a determinados modos, como quando vários objetos são selecionados. Se uma coleção de Ajuda personalizada estiver integrada ao ambiente de tempo de design configurando-a para um provedor de ajuda externo, um provedor de documentação poderá associar um tópico a uma classe de componente ou propriedade específica a uma palavra-chave que consiste no tipo totalmente qualificado ou nome do membro do item.

Pode IHelpService ser usado para invocar o serviço de ajuda com uma palavra-chave especificada usando o ShowHelpFromKeyword método ou para invocar um tópico de ajuda de uma URL especificada usando o ShowHelpFromUrl método.

O IHelpService também pode ser usado para adicionar ou remover palavras-chave da Ajuda em tempo de design. Selecionar um componente ou propriedade em tempo de design define uma palavra-chave de contexto padrão que consiste no tipo totalmente qualificado ou nome de membro da seleção e remove as palavras-chave para quaisquer componentes ou propriedades selecionados anteriormente e não mais selecionados.

Como o sistema de Ajuda não remove automaticamente palavras-chave personalizadas da Ajuda, você deve remover explicitamente uma palavra-chave personalizada quando ela não se aplicar mais. Você pode monitorar os eventos definidos pela ISelectionService interface para determinar quando uma seleção de componente é alterada. Com base nesses eventos, você pode adicionar um atributo de contexto de Ajuda para um componente quando ele for selecionado e, em seguida, remover o atributo de contexto da Ajuda quando a seleção não incluir mais o componente.

Métodos

Nome Description
AddContextAttribute(String, String, HelpKeywordType)

Adiciona um atributo de contexto ao documento.

ClearContextAttributes()

Remove todos os atributos de contexto existentes do documento.

CreateLocalContext(HelpContextType)

Cria um local IHelpService para gerenciar subcontextos.

RemoveContextAttribute(String, String)

Remove um atributo de contexto adicionado anteriormente.

RemoveLocalContext(IHelpService)

Remove um contexto criado com CreateLocalContext(HelpContextType).

ShowHelpFromKeyword(String)

Mostra o tópico da Ajuda que corresponde à palavra-chave especificada.

ShowHelpFromUrl(String)

Mostra o tópico da Ajuda que corresponde à URL especificada.

Aplica-se a

Confira também