IHelpService Schnittstelle

Definition

Stellt Methoden zum Anzeigen von Hilfethemen und zum Hinzufügen und Entfernen von Hilfestichwörtern zur Entwurfszeit bereit.

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

Beispiele

Im folgenden Beispiel wird ein Designer veranschaulicht, der die IHelpService Hilfekontextattribute für das enthaltene Steuerelement hinzu- und entfernt. Um dieses Beispiel zu verwenden, kompilieren Sie es in einer Klassenbibliothek, und fügen Sie einer Instanz des Steuerelements eine FormInstanz hinzu. Wählen Sie in der Entwurfsansicht die Komponente aus, und drücken Sie F1, um relevante Hilfethemen basierend auf dem aktuellen Schlüsselwort oder Schlüsselwörter des Hilfekontexts nachzuschlagen. Klicken Sie mit der rechten Maustaste auf die Komponente, und im Kontextmenü werden Befehle angezeigt, einschließlich zwei benutzerdefinierter DesignerVerb Befehle namens Add IHelpService Help Keyword und Remove IHelpService Help Keyword. Diese Befehle können verwendet werden, um ein Hilfekontextschlüsselwort des Werts "IHelpService" hinzuzufügen oder zu entfernen, der versucht, das IHelpService Thema auszuheben, wenn F1 gedrückt wird.

#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

Hinweise

Die Entwurfszeitumgebung bietet ein Hilfesystem, das versucht, relevante Hilfethemen zu finden, die angezeigt werden, wenn ein Benutzer F1 drückt. Das Hilfesystem verwaltet eine Reihe aktueller Kontextstichwörter, die verwendet werden, um relevante Themen zu identifizieren, wenn Hilfe angefordert wird. Standardmäßig werden Schlüsselwörter ausgewählten Klassenobjekten und Eigenschaften von Objekten in der Entwurfszeitumgebung zugeordnet. Das Standardstichwort für eine Komponente oder Eigenschaft ist der vollqualifizierte Klassen- oder Eigenschaftenname. Bestimmte Schlüsselwörter werden auch bestimmten Modi zugeordnet, z. B. wenn mehrere Objekte ausgewählt werden. Wenn eine benutzerdefinierte Hilfeauflistung in die Entwurfszeitumgebung integriert ist, indem sie für einen externen Hilfeanbieter konfiguriert wird, kann ein Dokumentationsanbieter ein Thema einer bestimmten Komponentenklasse oder -eigenschaft einem Schlüsselwort zuordnen, das aus dem vollqualifizierten Typ oder Membernamen des Elements besteht.

Dies IHelpService kann verwendet werden, um den Hilfedienst mit einem angegebenen Schlüsselwort mithilfe der ShowHelpFromKeyword Methode aufzurufen oder ein Hilfethema aus einer angegebenen URL mithilfe der ShowHelpFromUrl Methode aufzurufen.

Sie IHelpService können auch zum Hinzufügen oder Entfernen von Hilfestichwörtern zur Entwurfszeit verwendet werden. Wenn Sie eine Komponente oder Eigenschaft zur Entwurfszeit auswählen, wird ein Standardkontextwort festgelegt, das aus dem vollqualifizierten Typ- oder Membernamen der Auswahl besteht, und entfernt die Schlüsselwörter für zuvor ausgewählte und nicht mehr ausgewählte Komponenten oder Eigenschaften.

Da das Hilfesystem keine benutzerdefinierten Hilfestichwörter automatisch entfernt, müssen Sie ein benutzerdefiniertes Schlüsselwort explizit entfernen, wenn es nicht mehr angewendet wird. Sie können die von der ISelectionService Schnittstelle definierten Ereignisse überwachen, um zu bestimmen, wann sich eine Komponentenauswahl ändert. Basierend auf diesen Ereignissen können Sie ein Hilfekontext-Attribut für eine Komponente hinzufügen, wenn sie ausgewählt ist, und dann das Hilfekontext-Attribut entfernen, wenn die Auswahl die Komponente nicht mehr enthält.

Methoden

Name Beschreibung
AddContextAttribute(String, String, HelpKeywordType)

Fügt dem Dokument ein Kontextattribute hinzu.

ClearContextAttributes()

Entfernt alle vorhandenen Kontextattribute aus dem Dokument.

CreateLocalContext(HelpContextType)

Erstellt einen lokalen IHelpService Zum Verwalten von Untertexten.

RemoveContextAttribute(String, String)

Entfernt ein zuvor hinzugefügtes Kontextattribute.

RemoveLocalContext(IHelpService)

Entfernt einen mit CreateLocalContext(HelpContextType).

ShowHelpFromKeyword(String)

Zeigt das Hilfethema an, das dem angegebenen Schlüsselwort entspricht.

ShowHelpFromUrl(String)

Zeigt das Hilfethema an, das der angegebenen URL entspricht.

Gilt für:

Weitere Informationen