IHelpService Interface

Definitie

Biedt methoden voor het weergeven van Help-onderwerpen en het toevoegen en verwijderen van Help-trefwoorden tijdens het ontwerp.

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

Voorbeelden

In het volgende voorbeeld ziet u een ontwerper die gebruikmaakt van de IHelpService help-contextkenmerken voor het opgenomen besturingselement toe te voegen en te verwijderen. Als u dit voorbeeld wilt gebruiken, compileert u het naar een klassebibliotheek en voegt u een exemplaar van het besturingselement toe aan een Form. In de ontwerpweergave selecteert u het onderdeel en drukt u op F1 om relevante Help-onderwerpen op te zoeken op basis van het huidige Trefwoord of trefwoorden in de Help-context. Klik met de rechtermuisknop op het onderdeel en in het snelmenu worden opdrachten weergegeven, waaronder twee aangepaste DesignerVerb opdrachten met de naam Add IHelpService Help Keyword en Remove IHelpService Help Keyword. Deze opdrachten kunnen worden gebruikt om een Help-contextwoord toe te voegen of te verwijderen van de waarde 'IHelpService', waarmee het IHelpService onderwerp wordt gegenereerd wanneer F1 wordt ingedrukt.

#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

Opmerkingen

De ontwerpomgeving biedt een Help-systeem waarmee relevante Help-onderwerpen worden gevonden die moeten worden weergegeven wanneer een gebruiker op F1 drukt. Het Help-systeem onderhoudt een set huidige contexttrefwoorden die worden gebruikt om relevante onderwerpen te identificeren als Help wordt aangevraagd. Trefwoorden zijn standaard gekoppeld aan geselecteerde klasseobjecten en eigenschappen van objecten in de ontwerptijdomgeving. Het standaardwoord voor een onderdeel of eigenschap is de volledig gekwalificeerde klasse- of eigenschapsnaam. Specifieke trefwoorden worden ook gekoppeld aan bepaalde modi, zoals wanneer meerdere objecten zijn geselecteerd. Als een aangepaste Help-verzameling is geïntegreerd met de ontwerpomgeving door deze te configureren voor een externe Help-provider, kan een documentatieprovider een onderwerp voor een specifieke onderdeelklasse of eigenschap koppelen aan een trefwoord dat bestaat uit het volledig gekwalificeerde type of lidnaam van het item.

De IHelpService kan worden gebruikt om de Help-service aan te roepen met een opgegeven trefwoord met behulp van de ShowHelpFromKeyword methode of om een Help-onderwerp aan te roepen vanuit een opgegeven URL met behulp van de ShowHelpFromUrl methode.

De IHelpService functie kan ook worden gebruikt om Help-trefwoorden tijdens het ontwerp toe te voegen of te verwijderen. Als u een onderdeel of eigenschap selecteert tijdens het ontwerp, wordt een standaardcontexttrefwoord ingesteld dat bestaat uit het volledig gekwalificeerde type of de lidnaam van de selectie, en worden de trefwoorden voor eerder geselecteerde en niet langer geselecteerde onderdelen of eigenschappen verwijderd.

Omdat het Help-systeem aangepaste Help-trefwoorden niet automatisch verwijdert, moet u expliciet een aangepast trefwoord verwijderen wanneer dit niet meer van toepassing is. U kunt de gebeurtenissen bewaken die door de ISelectionService interface zijn gedefinieerd om te bepalen wanneer een onderdeelselectie verandert. Op basis van deze gebeurtenissen kunt u een Help-contextkenmerk voor een onderdeel toevoegen wanneer het is geselecteerd en vervolgens het kenmerk Help-context verwijderen wanneer de selectie het onderdeel niet meer bevat.

Methoden

Name Description
AddContextAttribute(String, String, HelpKeywordType)

Hiermee voegt u een contextkenmerk toe aan het document.

ClearContextAttributes()

Hiermee verwijdert u alle bestaande contextkenmerken uit het document.

CreateLocalContext(HelpContextType)

Hiermee maakt u een lokaal IHelpService voor het beheren van subcontexten.

RemoveContextAttribute(String, String)

Hiermee verwijdert u een eerder toegevoegd contextkenmerk.

RemoveLocalContext(IHelpService)

Hiermee verwijdert u een context die is gemaakt met CreateLocalContext(HelpContextType).

ShowHelpFromKeyword(String)

Toont het Help-onderwerp dat overeenkomt met het opgegeven trefwoord.

ShowHelpFromUrl(String)

Toont het Help-onderwerp dat overeenkomt met de opgegeven URL.

Van toepassing op

Zie ook