IHelpService Interface

Définition

Fournit des méthodes servant à l'affichage de rubriques d'aide et à l'ajout et la suppression de mots clés d'aide au moment du design.

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

Exemples

L’exemple suivant illustre un concepteur qui utilise pour IHelpService ajouter et supprimer des attributs de contexte d’aide pour le contrôle inclus. Pour utiliser cet exemple, compilez-le dans une bibliothèque de classes et ajoutez une instance du contrôle à un Form. En mode Création, en sélectionnant le composant et en appuyant sur F1, vous tentez de rechercher les rubriques d’aide pertinentes en fonction du ou des mots clés du contexte d’aide actuels. Cliquez avec le bouton droit sur le composant et le menu contextuel affiche des commandes, y compris deux commandes personnalisées DesignerVerb nommées Add IHelpService Help Keyword et Remove IHelpService Help Keyword. Ces commandes peuvent être utilisées pour ajouter ou supprimer un mot clé de contexte d’aide de la valeur « IHelpService », qui tente de déclencher la IHelpService rubrique lorsque la touche F1 est enfoncée.

#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

Remarques

L’environnement de conception fournit un système d’aide qui tente de localiser les rubriques d’aide pertinentes à afficher lorsqu’un utilisateur appuie sur F1. Le système d’aide gère un ensemble de mots clés de contexte actuels qui sont utilisés pour identifier les rubriques pertinentes si l’aide est demandée. Par défaut, les mots clés sont associés aux objets de classe sélectionnés et aux propriétés des objets dans l’environnement de conception. Le mot clé par défaut d’un composant ou d’une propriété est sa classe ou son nom de propriété complet. Des mots clés spécifiques sont également associés à certains modes, par exemple lorsque plusieurs objets sont sélectionnés. Si une collection d’aide personnalisée est intégrée à l’environnement au moment de la conception en la configurant pour un fournisseur d’aide externe, un fournisseur de documentation peut associer une rubrique pour une classe ou une propriété de composant spécifique à un mot clé composé du type complet ou du nom de membre de l’élément.

Le IHelpService peut être utilisé pour appeler le service d’aide avec un mot clé spécifié à l’aide de la ShowHelpFromKeyword méthode , ou pour appeler une rubrique d’aide à partir d’une URL spécifiée à l’aide de la ShowHelpFromUrl méthode .

Peut également être utilisé pour ajouter ou supprimer des IHelpService mots clés d’aide au moment de la conception. La sélection d’un composant ou d’une propriété au moment du design définit un mot clé de contexte par défaut constitué du type complet ou du nom de membre de la sélection, et supprime les mots clés pour les composants ou propriétés précédemment sélectionnés et non sélectionnés.

Étant donné que le système d’aide ne supprime pas automatiquement les mots clés d’aide personnalisés, vous devez supprimer explicitement un mot clé personnalisé lorsqu’il ne s’applique plus. Vous pouvez surveiller les événements définis par l’interface ISelectionService pour déterminer quand une sélection de composant change. En fonction de ces événements, vous pouvez ajouter un attribut de contexte d’aide pour un composant lorsqu’il est sélectionné, puis supprimer l’attribut de contexte d’aide lorsque la sélection n’inclut plus le composant.

Méthodes

AddContextAttribute(String, String, HelpKeywordType)

Ajoute un attribut de contexte au document.

ClearContextAttributes()

Supprime du document tous les attributs de contexte existants.

CreateLocalContext(HelpContextType)

Crée un IHelpService local pour gérer les sous-contextes.

RemoveContextAttribute(String, String)

Supprime un attribut de contexte précédemment ajouté.

RemoveLocalContext(IHelpService)

Supprime un contexte créé avec CreateLocalContext(HelpContextType).

ShowHelpFromKeyword(String)

Affiche la rubrique d'aide correspondant au mot clé spécifié.

ShowHelpFromUrl(String)

Affiche la rubrique d'aide correspondant à l'URL spécifiée.

S’applique à

Voir aussi